问题标签 [pymongo-3.x]
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 - PyMongo $addToSet 不工作
所以我正在使用pymongo==3.2.1
,Mongo 3.2
但由于某种原因我的$addToSet
(以避免重复)无法正常工作。
我确保我的checked_on
时间戳匹配,例如ISODate("2016-04-21T00:00:00.000Z")
我的结构是这样的:
我都试过了:
和
但是重复出现,我做错了什么?
pymongo - 如何在 pymongo 查询类`find()`中启用`projection`?
find()
官方链接
我试图将投影设置为列表或字典,但都不能限制 find() 的输出。如何正确设置投影?
python - 如何在 Pymongo 3.2+ 中获取 replSetGetStatus?
我目前正在转换 pymongo 3.2+ 驱动程序的更高级别的 api。该代码在 pymongo 2+ 到 3.1 中工作。我正在尝试检索管理数据库的 replSetGetStatus。
据我了解,pymongo 3.2+ 不允许查询管理数据库。我用谷歌搜索了一下,几乎没有找到关于这个主题的信息。提示我需要使用 db.runCommand() 方法,但我不知道该怎么做。
我的旧 pymongo 2+ - 3.1 代码。
我将如何将该行代码转换为与 pymongo 3.2+ 一起使用?
mongodb - 带有 upsert 的 insert_many - PyMongo
我有一些这样的数据:
数据库中的当前数据:
我总是收到唯一的行,但不确定它们中的任何一个是否已经存在于 DB 中(例如上面的情况)。我想根据两种类型的要求更新它们。
要求 1:
如果已经存在,请不要更新行。_id
这在某种程度上很容易:
执行上述将插入2nd
行但不会更新第一行;但它也引发了异常。
1.有没有更好的方法来做上述操作(用于批量插入)?
要求 2
这类似于update_if_exists
&insert if not exists
组合。所以以下数据:
应该更新该行_id=1
并将该2nd
行插入数据库中。
问题是我一次得到数千行,并且不确定逐一检查和更新是否有效。
2.这个要求在 MongoDB 中是否可能不需要迭代每一行并且尽可能少的操作?
mongodb - 如何在 Mongodb 中插入包含整数字段的文档,并使用 pymongo 进行文档验证?
我正在尝试在 MongoDB 中插入一个使用 pymongo 进行文档验证的文档。它有一个类型验证器来检查数据类型。
当我使用 mongo shell 插入文档时,我可以使用NumberInt()在整数字段中插入数据。
如何使用 pymongo 插入带有整数字段的文档?
python - Pymongo错误服务器超时
我使用 pip 安装了最新版本的 Pymongo 3.2.2。此外,我使用 Python 3.4 Anaconda。我正在尝试做一个简单的插入。这是我的代码:
这是我在 Traceback 底部收到的消息:
我该如何解决这个问题,以便我可以将记录插入 MongoDB?
python - 如果我使用变量作为值,则在 python 中进行 Mongo 查询
我正在尝试使用以下查询从 mongo 集合中查找文档。db.collection_name.find({"id" : Id})
其中 Id 是作为输入的变量。但它不起作用。如果我像这样对值进行硬编码,db.collection_name.find({"id" : "1a2b"})
它就可以工作。“id”是字符串类型,我正在使用 pymongo 访问 mongo DB。
代码 :
mongodb - call custom python function on every document in a collection Mongo DB
I want to call a custom python function on some existing attribute of every document in the entire collection and store the result as a new key-value pair in that (same) document. May I know if there's any way to do that (since each call is independent of others) ?
I noticed cursor.forEach
but can't it be done just using python efficiently ?
A simple example would be to split the string in text
and store the no. of words as a new attribute.
But it seems like setting a new attribute in a document based on the value of another attribute in the same document is not possible this way yet. This post is old but the issues seem to be still open.
python - python 3.6 mongoengine 无法捕获异常
我有一个 django 1.9 项目,并且正在使用 mongoengine 连接到 mongodb 实例。
我有一个模型如下:
一个测试类:
问题是我无法捕捉到DuplicateKeyError
执行:
我尝试了全局尝试,但它仍然使代码崩溃并出现DuplicateKeyError
异常:
有关信息,我正在使用以下依赖项:
Django==1.9.7
mongoengine==0.10.6
pymongo==3.2.2
参考:在重复键错误上获取重复值
任何帮助都将是非常可观的。谢谢。
python - 在 mondb 客户端中更新正常,但在 Python 中 KO
mongodb/python/pymongo 中的新手。我的 mongodb 客户端代码工作正常。这里是 :
当contract_name(来自测试集合)等于current_observation.observation_location.city(来自meteo集合)时,这会将temp_c_meteo列添加到我的测试集合中的所有文档中。这就是我想要的!
但是,我希望这在 Python 中也能正常工作。Python 2.7-pymongo 2.6.3 已安装。还有 Python 2.4.6(64 位)和 3.4.0(64 位)。
这是 Python 脚本的一部分:
我得到了错误:==> [06/21/2016 10:51:03 AM] [警告]:'Collection' 对象不可调用。如果您打算在 'Collection' 对象上调用 'update_many' 方法,它会失败,因为不存在这样的方法。
我读到这个问题可能与某些 pymongo 版本有关(“不推荐使用保存和更新方法”,这就是我尝试使用 update_many 的原因)但不确定如何使这项工作?谢谢