【发布时间】:2016-01-04 13:32:33
【问题描述】:
如何从 Mongo 的集合中提取值?
这是我尝试用来提取其中一个集合中的值之一的查询。
我正在尝试删除集合 srs.5689f5206f404774fc350407 中的数组中的一个值
db.dbName.update(
{ _id: ObjectId("5689e240d3235cbef83e41d0") },
{ $pull:{ 'srs.5689f5206f404774fc350407.$.flashcardID':
ObjectId("5689f52e6f404774fc35040a")}
})
这是有问题的文件。
{
"_id":ObjectId("5689e240d3235cbef83e41d0"),
"username":"lol1",
"score":"",
"decks":[
"5689e246d3235cbef83e41d1"
],
"srs":{
"5689e246d3235cbef83e41d1":[
{
"timer":1451876940132,
"flashcardID":ObjectId("5689e24cd3235cbef83e41d2"),
"correct":0,
"type":"srs"
},
{
"timer":1451876944421,
"flashcardID":ObjectId("5689e250d3235cbef83e41d3"),
"correct":0,
"type":"srs"
},
{
"timer":1451876949586,
"flashcardID":ObjectId("5689e255d3235cbef83e41d4"),
"correct":0,
"type":"srs"
},
{
"timer":1451876954478,
"flashcardID":ObjectId("5689e25ad3235cbef83e41d5"),
"correct":0,
"type":"srs"
},
{
"timer":1451876957760,
"flashcardID":ObjectId("5689e25dd3235cbef83e41d6"),
"correct":0,
"type":"srs"
}
]
},
"type":"user"
}
WriteResult({
"nMatched" : 0,
"nUpserted" : 0,
"nModified" : 0,
"writeError" : {
"code" : 16837,
"errmsg" : "The positional operator did not find the match needed from the query. Unexpanded update: srs.5689f5206f404774fc350407.$.flashcardID"
}
})
我想要一些关于该怎么做的建议。我已经尝试修复此查询很长一段时间了。
【问题讨论】:
标签: mongodb mongodb-query