gpt4 book ai didi

mongodb - 使用 mongodb(多对多)实现的图书标记

转载 作者:可可西里 更新时间:2023-11-01 10:06:02 24 4
gpt4 key购买 nike

我试图在 python 中构建一个简单的应用程序,其中我有与标签相关联的标签。

给定以下数据:

书:

+-------------+--------------------------------+
| id | tags |
+-------------+--------------------------------+
| 1 | [python, ruby, rails] |
+-------------+--------------------------------+
| 2 | [fiction, fantasy] |
+-------------+--------------------------------+
| 3 | [fiction, adventure] |
+-------------+--------------------------------+

我将如何(使用 pymongo)找到:

  1. 所有标记为“小说”的书籍
  2. 系统中的所有唯一标签

最佳答案

1。按标签查找所有书籍:

db.books.find({tags: 'ruby'})

如果您对该字段进行索引,这会更快。

db.books.ensureIndex({tags: 1})

2。查找所有唯一标签

你可以使用map-reduce

var map = function() {
this.tags.forEach(function(t) {
emit(t, 1);
})
};

var reduce = function(k, vals) {
return {k, 1}
};

db.books.mapReduce(map, reduce, {out: 'temp_collection_name'});

所有示例都使用 javascript,它们应该可以立即在 mongo shell 中运行。我留给您阅读 pymongo 文档并翻译片段。

关于mongodb - 使用 mongodb(多对多)实现的图书标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com