文档:
{
"_id" : ObjectId("5399ba7f8035beb2d4717cc0"),
"listName" : "firstList",
"items" : [
{
"pName" : "iPad ",
"pDesc" : "iPad aiiir",
"ownerID" : ObjectId("5399b596c501732dd4d13923"),
"_id" : ObjectId("5399e2cc2d7b0349d89d2b44"),
"dateAdded" : ISODate("2014-06-12T17:26:36.282Z")
},
{
"pName" : "iPhone ",
"pDesc" : "5s",
"ownerID" : ObjectId("5399b596c501732dd4d13923"),
"_id" : ObjectId("5399e2cc2d7b0349d89d2b44"),
"dateAdded" : ISODate("2014-06-12T17:26:36.282Z")
}
]}
我希望能够在不知道文档的 _id,只知道元素的 id 的情况下,从 "数组" 项中删除一个元素,我有这个查询,可以找到该元素,在 mongodb shell 中有效,但在 mongoose 中无效。
db.lists.find( {items:
{$elemMatch:{'_id':ObjectId("5399b596c501732dd4d13923")}}} ,
{"items.$":1});
你知道为什么吗?
请问你能把它翻译成mongoose的等效代码吗?
如果只知道一个文档的_id,我应该如何从列表中获取该项?
multi: true
,那么在你的情况下,你是正确的,你不需要它。 - Charleshaa