- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如果键不存在,我想向集合中添加一条记录。我了解 [MongoDB][1] 为此提供了 upsert
,所以我做了一个
db.collection.update({"_id":"key1"},{"_id":"key1"},True)
这似乎有效。
然而在 Pymongo documentation它说更新已被弃用并用于 update_one()
。
但是:
db.collection.update_one({"_id":"key1"},{"_id":"key1"},True)
给予:
raise ValueError('update only works with $ operators')
ValueError: update only works with $ operators
我真的不明白为什么 update_one
不同以及为什么我需要使用 $
运算符。有人可以帮忙吗?
最佳答案
这是因为您没有指定任何 update operator .例如到 $set
id
值使用:
db.collection.update_one({"_id":"key1"}, {"$set": {"id":"key1"}}, upsert=True)
请注意,在 Mongo shell 中,这只会用新文档替换文档。
关于python - 为什么使用 update_one 更新记录会引发 ValueError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30605638/
我想创建字段Datetime,它将在行更新时更新当前日期时间。我试过这个: updated_on = Column(DateTime, onupdate=db.func.now()) 还有这个: up
在 mongodb 中有一个名为“collection”的集合,我需要使用 pymongo 进行更新插入。 collection.update_one({'_id': workflowID}, {
我有这个更改集: change_set = {'name': 'bso save job again', 'location': 'new york city', 'expires': '2020-0
如果键不存在,我想向集合中添加一条记录。我了解 [MongoDB][1] 为此提供了 upsert,所以我做了一个 db.collection.update({"_id":"key1"},{"_id"
我正在使用 Python mongoengine,我想定义回调,每次更新文档时都会调用它。 from mongoengine import * from mongoengine import sign
假设我有一组用 MongoEngine 定义的文档如: class Project(Document): name = StringField(required=True) clien
我明白 get_or_create现在不推荐使用 upsert ,但我该如何制作 update_one返回对象而不是修改的对象数量,如果我不想更新任何东西,我可以只检索一个对象吗? 例如 Model.
我有以下形式的文件: {"hostname": "myhost1.com", "services": { ... } } 我想做的是: dataset = requests.get('http://e
testdb.update_one({'id': id}, {"$set": {'testArrayLevel1.$[i].testArrayLevel2.$[j].status':"register
以下是引用资料: find_one_and_update 方法 Finds a single document and updates it, returning either the origina
我正在将 Redmine 安装从 3.0.3 升级到 3.3.3。 我总是遵循的过程是在一台新机器上安装一个新的Redmine,从当前机器导入和sqldump,然后复制重要的东西(files/conf
我刚刚将我的 MongoDB 和 Pymongo 升级到最新版本 3.2.1 以便能够使用 UpdateResult调用 update_one() 后的对象。但由于某种原因,返回的对象有一个字段包含
我的连接默认为 w=0但是对于 collection.update_one 或 collection.update_many,我想通过设置参数 w=0 来设置每个操作的 write_concern。相
我的应用程序中有一些已弃用的自定义端点,以支持从旧 API 迁移到 Eve。我的自定义端点之一实现了一个端点,用于更新 MongoDB 数据库中的文档。与这些文档关联的集合具有在 settings.p
我是一名优秀的程序员,十分优秀!