python - 在 mongodb 中存储/使用文档管理系统的标签

标签 python mongodb pymongo

所以我正在开发一个宠物项目,在其中存储各种文本文件。我已设置我的应用程序将标签保存为我的集合之一中的字符串,因此示例如下:

标签:“Linux Apache WSGI”

存储它们并搜索它们工作得很好,但是当我想做标签云之类的事情,计算所有不同的标签,或者创建一个基于标签的动态选择系统时,我的问题就来了,最好的打破方法是什么他们准备好一起工作吗?或者我应该以其他方式存储它们?

从逻辑上讲,我可以扫描每条记录并获取所有标签,根据空间打破它们,然后以某种方式缓存结果。也许这是正确的答案,但我想询问社区的智慧。

我正在使用 pymongo 与我的数据库交互。

最佳答案

Or should I be storing them some other way?

存储标签的标准方法是将它们存储为数组。在您的情况下,数据库看起来像:

tags: ['linux', 'apached', 'wsgi']

... what is the best way to break them up to work with?

这就是 Map/Reduce是专为.这有效地“扫描每条记录”。 Map/Reduce 的输出是您可以查询的另一个集合。

但是,还有另一种方法可以做到这一点,那就是保留“计数器”并更新它们。因此,当您保存新文档时,您还会增加与该文档相关的所有标签。

关于python - 在 mongodb 中存储/使用文档管理系统的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810440/

相关文章:

python - 如何检测 X11 窗口的内容何时发生更改?

node.js - Nest.js 在 Passport 本地策略中获取请求头

python - 无法使用 Pymongo 连接到 Meteor

python - webdriver 在 python 中等待 ajax 请求

python - 保持列表中值的增长并保持列表大小

mongodb - 维护的Dart ORM(特别适用于mongodb)

node.js - 在 MongoDB 中用 $inc 更新插入数组

python - MongoDB 字段值到 python 中的变量

python - Pymongo 在子文档中通过 _id 查找

python - 如何左对齐固定宽度的字符串?