问题标签 [pymongo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Mongodb FindAndModify 多进程使用问题
我使用 python 2.6.6、pymongo 1.9、mongodb 1.6.5、Ubuntu 10.10
FindAndModify 命令有一个奇怪的问题。
我有两个相同的进程同时运行。他们使用 FindAndModify(实现某种队列)从 db 获取记录。
因此,为了使只有一个进程获得记录,我这样做:
这是这样工作的:
1 进程使用 findAndModify 获取作业 2 进程使用 findAndModify 获取作业 1 进程制作作业并保存结果 2 进程制作作业并保存结果
因此,进程获取状态为“已加载”的记录并将其更改为“正在分析”。如果这个操作是原子的,第二个进程不应该看到这个记录,因为它不满足查询。
但有时两个进程同时得到一个相同的记录,这就是问题。
谁能告诉它为什么会发生以及我如何使用 mongodb 实现队列,这将锁定文档不被多个进程读取?
谢谢。
python - Pymongo AssertionError:ID 不匹配
我用:
- MongoDB 1.6.5
- Pymongo 1.9
- Python 2.6.6
我有 3 种守护进程。第一次从网络加载数据,第二次分析并保存结果,第三组结果。他们都在使用 Mongodb。有时第三个守护进程会抛出许多这样的异常(主要是当数据库中有大量数据时):
谁能告诉这个异常的原因以及如何解决这个问题。
谢谢。
python - mongo gridfs 与 python
我想直接从 python 脚本提供来自 gridfs 的图像,但只有我看到的是空白屏幕:
如果我将 f.read() 的输出写入文件,我可以看到“有效”图像,我可以从本地 FS 显示该图像:
我做错了什么?
python - 遍历 PyMongo 游标作为键值对
是否可以将 pymongoCursor
作为键值对进行迭代,例如dict
? 我正在使用 python 2.6 和 pymongo 1.9。
我试过这个:
但我得到了错误:
python - PYMongo:查询后每条记录都返回_id,如何排除这条记录?
当我使用 pymongo 对 mongodb 进行查询时遇到问题。我不知道如何避免获取每条记录的 _id。
我正在做这样的事情,
结果 = db.meta.find(过滤器,['model','fields.parent','fields.status','fields.slug','fields.firm','fields.properties'])
我不想迭代游标元素只是为了删除一个字段。谢谢,
华金
mongodb - 在MongoDB中,我如何先按分数排序,如果有“平局”,再按时间排序?
这是我现在的类型。但问题是,有些东西具有相同的“分数”。在这种情况下,如果他们打成平手,我希望他们在打成平手的人中按“时间”排序。
我怎么做?在Mysql中可以做到这一点......
mongodb - 获取 mongodb 中所有唯一标签的列表
我从 mongodb 开始,并且有一个包含如下文档的集合
有了这个,我想要一组特定类型的所有标签。例如,对于类型 1,我想要tag1, tag2, tag3, tag4
(任意顺序)的集合。
我能想到的只是获取标签并将它们添加到set
python中,但我想知道是否有办法使用mongodb的mapreduce或其他方法来做到这一点。请指教。
python - 如何在 pymongo 中使用“组”对相似的行进行分组?
我对 mongodb/pymongo 很陌生。我已成功将我的数据导入 mongo,并希望使用 group 功能将类似的行组合在一起。例如,如果我的数据集如下所示:
如何使用 group 函数根据 uid 字段对以上行进行分组,使得输出如下?
我通读了http://www.mongodb.org/display/DOCS/Aggregation上的示例。但是,在我看来,这些示例总是聚合成一个数字或对象。
谢谢,
python - pymongo:可以使用 next() 和 prev() 迭代结果吗?
我有一个带有“id”列的数据库,整数类型。我在用:
记录 = config.gSupei1Collection.find().sort([("id",pymongo.DESCENDING)])
获取光标,然后我使用
记录 = 记录[0]
得到最大的ID记录。
我想知道在获得“记录”之后,我可以使用 record.next()、record.prev() 来获取与记录相邻的记录吗?我找不到任何文件。
python - PyMongo upsert 抛出“upsert 必须是 bool 的实例”错误
我正在从 Python 对我的 MongoDB 进行更新。我有这条线:
但它抛出了这个错误:
但True
对我来说看起来像是 bool 的一个实例!
我应该如何正确编写此更新?