问题标签 [mongodb-update]
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.
mongodb - MongoDB 为另一个集合中的每个文档插入一个文档
我有一个users
包含一些文档的集合(),如下所示:
我想为user
集合中的每个条目创建一个新文档。文档将从这样的通知对象创建:
该集合notifications
应如下所示:
有没有办法在 mongodb 请求中做到这一点?
arrays - MongoDB:如何根据是否找到添加或更新数组对象?
我可以使用什么 mongoDB 操作将对象添加到数组,或者,如果对象已经在数组中,则更新其值之一。
这是我的 mongodb 数据的示例:
我想做的是使用 mongodb-update 更新集合中的所有数据。假设我需要修改所有“BAR”通道的状态。我希望更新为:
为集合中的所有对象添加一个新的 channelStatus {"channel" : "BAR", "status" : "done"}。
如果一个对象已经有一个带有 "channel" : "BAR" 的 channelStatus,它只会将该对象的 "status" 更新为 "done"。
如果我简单地使用 addToSet,它会添加重复项,例如:channelStatuses:[{"channel" : "BAR", "status" : "done"}, {"channel" : "BAR", "status" : "error "}]
我可以接受的方法是首先删除旧对象,然后使用 addToSet 添加新对象。但是有没有办法在一次更新中做到这一点?
arrays - MongoDB Bulk.find.update() 不修改数组对象,只添加新对象
我对 MongoDB $set & $-operators 有疑问。我尝试修改现有数组
我的更新方法看起来像这样(我无法获得准确的副本,因为它是用 Clojure/Monger 编写的):
我的数据看起来像这样:
所以我想要它做的是用_id = 2修改文档的channelStatuses-object的状态。
相反,它在 channelStatuses 数组中创建了一个新对象,文档如下所示:
mongodb - 如何处理 mongodb 集合中的“lastModified”字段?(只有当文档中的任何值发生更改时,该字段才会更新)
编辑(15/04/2016):根据在这个问题中收到的评论,我认为 mongodb 中没有直接的方法可以这样做。在那种情况下,是否可以使用 MongooseJS 做到这一点?
我正在使用 mongodb,对于一个集合,我需要一个“lastModified”字段,它应该显示最后一次实际修改文档的任何值的时间。这意味着,如果我进行了更新查询并且所有其他值都相同,则不应更新“lastModified”。
示例: 假设我在集合中有一个文档:
当我更新时
那么“lastModified”不应该改变
当我更新时
那么“lastModified”应该改变
如何做到这一点?
在我的情况下,我将多次调用更新操作,并且我不想在这种情况下每次都更改“lastModified”。相反,它应该仅在实际修改“状态”时才更改。
node.js - MongoDB 更新查询以根据值取消设置特定数组成员
我有一组子文档,如下所示
[我想删除没有'title'子成员的数组成员]
如何编写 mongo 更新查询或 nodejs 函数来获取以下文档集
node.js - MongoDb 中的条件更新
有没有更好的方法来做这个有条件的更新,只有一个数据库调用,即只使用user.update
?
mongodb - 多更新仅适用于 mongodb 中的 $ 运算符,完全替换文档
我想用multi:true选项完全替换一些文档。
我想做更新操作。像这样:
我收到“多重更新仅适用于 $ 运算符”错误
mongodb官方文档
https://docs.mongodb.com/manual/reference/method/db.collection.update/#multi-parameter 只是告诉我它不能,但没有在这种情况下为什么以及如何做。
有人可以帮我解决这个问题吗?
mongodb - 如何将键值对添加到 MongoDB 中的对象
如果我有一个具有以下基本结构的文档:
我是否能够将额外的键:值对“推”到星期一的值?结果将是:
该$push
运算符似乎仅适用于数组。
node.js - node.js mongodb 只更新数组中第一个找到的子文档
用户集合:
更新声明
它更新为transaction.id = "m69bkn"
而不是"nhaa94"
它只是更新第一个找到的子文档我想我一直在搜索这里
使用 $ 更新数组在 mongodb-native nodejs 中不起作用
和
https://docs.mongodb.com/manual/reference/operator/update/positional/
和
arrays - 使用 $in 和 $addtoSet Mongodb 更新数组
我正在使用$in
并$addToSet
更新我的收藏中的一个数组。假设我有这种文件。
我想更新所有这些文档,所以我有一个 id 数组
并像这样使用数组map
。
更新我收藏中的所有文档。
我使用$in
and$addToSet
它可以工作并更新文档,但它只更新最后一个文档。
我不知道为什么。我不想创建一个 for 循环来单独更新它,但在我看来这是我最后的手段。请帮帮我。谢谢!