我有一个样本Post
收藏
[{
"_id" : ObjectId("5da832caeb173112348e509b"),
"body" : "Lorem Ipsu.",
"comments" : [
{
"comment" : "my sample comment",
"_id" : ObjectId("5db06e11d0987d0aa2cd5593"),
"replies" : [
{
"likes" : [
"5d999578aeb073247de4bd6e",
"5da85558886aee13e4e7f044"
],
"_id" : ObjectId("5db6a88f7c6cfb0d0c2b689b"),
"reply" : "my reply to this comment",
"user" : "5da85558886aee13e4e7f044"
}
],
"likes" : [
"5da85558886aee13e4e7f044",
]
},
],
}]
在注释中添加或删除元素。喜欢我可以这样做,$推
或$拉
,它与下面的操作一起工作。
Post.updateOne(
{_id: req.body.id_post, "comments._id": req.body.id_comment},
{ $push: {"comments.$.likes": req.user._id}});
但是如果我想将推送
到replies.likes
中,有人能帮助指导我吗?
我尝试过类似的方法,但得到了回复。不会更新likes。
db.posts.updateOne(
{ "comments.replies._id": Object("5db6a88f7c6cfb0d0c2b689b") },
{ "$push": { "comments.0.replies.$.likes": Object("5db6a88f7c6cfb0d0c2b689a") } },
function(err,numAffected) {
// something with the result in here
}
);
您可以使用阵列筛选器:
db.getCollection("test").updateOne(
{
"comments.replies": {
"$elemMatch": {
"_id": Object("5db6a88f7c6cfb0d0c2b689b")
}
}
},
{ "$set": { "comments.$[outer].reply.$[inner].likes": Object("5db6a88f7c6cfb0d0c2b689a") } },
{
"arrayFilters": [
{ "outer._id": ObjectId("5cd26a886458720f7a66a413") },
{ "inner._id": ObjectId("5cd26a886458720f7a66a415") }
]
}
)
不要介意ID
如何更新数组元素子文档中的特定字段? 我的问题类似于下面的问题,但是在我的例子中,我只需要更新一个子文档值。 MongoDB:如何更新数组中由数组中的索引引用的单个子元素? 我有以下文档模型: 所以,在mongodb shell中,以下语句非常适合我: 然而,当我尝试使用MongoJava驱动程序时,我会得到一个IllegalArgumentException。 它会引发以下异常: 我的代码有问题
我想在每次单击按钮时使用jquery添加一个div作为第一个元素
问题内容: 假设我有以下文件 我想将文档中具有代码“ efg”的所有元素的数量更改为0。我该怎么做?我应该对位置运算符使用循环吗? 问题答案: 最好的方法是匹配数组元素,并 使用 API 使用位置运算符分别进行更新。您真的不应该吹牛。
我有这样的数据响应 然后我想把颜色推到物品里面 预期:每个索引项有三(3)个变量 我尝试使用push和concat,但出现错误“无法读取未定义的属性“数据” 这是我的密码
将mongodb与pymongo一起使用,我有以下文档: 我想更新示例子文档(这是一个数组元素,因为可能有多个示例)。我有以下代码,但它不工作... 谁能告诉我这个有什么问题吗?
我对mongodb中的聚合概念相对陌生。在我的文档中,有一个数组。我尝试用$match,$unwind,$group来提取数组中有两个给定值的文档。我猜写上去没什么帮助..这是样品 文件: 从这些文档中,我需要提取一个具有“类:1”和“主题[”物理“,”英语“]的文档 所以,如果我正确地编写了查询(或聚合),我应该从上面提取第二个文档。 这是我所拥有的 好吧,上面的聚合没有给我任何反馈,所以我尝试