Mongodb 流星$从阵列中移除
我的数据库中有以下对象:Mongodb 流星$从阵列中移除,mongodb,meteor,Mongodb,Meteor,我的数据库中有以下对象: { "_id": "fTgR2YtHiZBzzqF6J", "following": [ { "user": { "_id": "S4dLHRJiuHoyAp26q", "fb": { "id": "100006681067911", "name": "Helen Amff
{
"_id": "fTgR2YtHiZBzzqF6J",
"following": [
{
"user": {
"_id": "S4dLHRJiuHoyAp26q",
"fb": {
"id": "100006681067911",
"name": "Helen Amffhajfgiaa Laubergskymanwitzescusonsteinsen"
}
},
"date": "2013-10-01T17:25:50.305Z"
},
{
"user": {
"_id": "MAyxz4Yk5F9vh9RRy",
"fb": {
"id": "100006719587007",
"name": "Mary Amfgaiehgkg Smithman"
}
},
"date": "2013-10-11T10:47:58.898Z"
}
]
}
现在我要删除
{
"user": {
"_id": "MAyxz4Yk5F9vh9RRy",
"fb": {
"id": "100006719587007",
"name": "Mary Amfgaiehgkg Smithman"
}
},
"date": "2013-10-11T10:47:58.898Z"
}
数组中名为“following”的子文档
我要执行此操作的查询如下所示:
Collection.update({"_id":"fTgR2YtHiZBzzqF6J"},
{
"$pull": {
"following": {
"user": {
"_id": "MAyxz4Yk5F9vh9RRy"
}
}
}
});
但是什么也没发生
有人能指出我的错误吗?问题与我的完全相同。如果您正好有一个
“用户”
,那么您的查询通常是正确的,并且仅适用于这种情况,但是对于多个用户,您必须重新设计您的收藏问题与此完全相同。您的查询通常是正确的,如果您正好有1个“用户”
,则仅适用于这种情况,但对于多个用户,您必须重新设计您的收藏我的问题是:我必须$pull整个对象:
Collection.update({"_id":"fTgR2YtHiZBzzqF6J"},
{
"$pull": {
"following": {
"user": {
"_id": "MAyxz4Yk5F9vh9RRy",
"fb": {
"id": "100006719587007",
"name": "Mary Amfgaiehgkg Smithman"
}
},
"date": "2013-10-11T10:47:58.898Z"
}
}
}
});
你可以称之为:
Collection.update({"_id":"fTgR2YtHiZBzzqF6J"},
{
"$pull": {
"following": {
"user": {
"_id": "MAyxz4Yk5F9vh9RRy"
}
}
}
});
我的问题是:我必须拉动整个物体:
Collection.update({"_id":"fTgR2YtHiZBzzqF6J"},
{
"$pull": {
"following": {
"user": {
"_id": "MAyxz4Yk5F9vh9RRy",
"fb": {
"id": "100006719587007",
"name": "Mary Amfgaiehgkg Smithman"
}
},
"date": "2013-10-11T10:47:58.898Z"
}
}
}
});
你可以称之为:
Collection.update({"_id":"fTgR2YtHiZBzzqF6J"},
{
"$pull": {
"following": {
"user": {
"_id": "MAyxz4Yk5F9vh9RRy"
}
}
}
});
您也可以尝试这个答案(),我认为它更适合,代码更少。您也可以尝试这个答案(),我认为它更适合,代码更少。嘿,谢谢您的输入。事实上,我发现我有一个不同的错误,因为我在mongo中没有得到这个概念(我认为这很糟糕)。我会尽快回答我自己的问题。基本上:我不能只匹配用户的{u id,但我必须匹配包含{u id,fb{id,name}}的数组中的整个对象,只需通过这样的
\u id
查找,您需要指定完整路径:col.find({“following.user.{u id:”MAyxz4Yk5F9vh9RRy)
-但是请注意find
返回的不是字典条目!嘿,谢谢你的意见。事实上,我发现我有一个不同的错误,因为我在mongo中没有得到这个概念(我认为这很糟糕)。我会尽快回答我自己的问题。基本上:我不能只匹配用户的{u id,但我必须匹配包含{u id,fb{id,name}}的数组中的整个对象,只需通过这样的\u id
查找,您需要指定完整路径:col.find({“following.user.{u id:”MAyxz4Yk5F9vh9RRy)
-但是请注意find
返回的不是字典条目!谢谢你看这个。我的代码这么长的唯一原因是,我写了一个示例,以便其他用户能够理解其内部结构。明白了,这两个有效的信息来源,对我来说都是同样好的。感谢您查看此内容。我的代码之所以这么长,唯一的原因是我写了一个例子,这样其他用户就可以理解里面的内容了。