我有一个包含这种格式的文档的集合:
{
"_id" : ObjectId("51b1e27e31b1f4fe0700001b"),
"proposals" : [
{
"id" : 17,
"type" : "question",
"fr" : {nothing useful},
"en" : {nothing useful},
"vote_count" : 0,
"validate" : 0,
"username" : "username",
"voters" : [ ],
"creationDate" : ISODate("2013-07-25T08:32:40.328Z")
},
{other proposals of the same type}
]
},
{same format}
我正在尝试在正确的父项中更新与我收到的 ID 匹配的提案。我在我成功使用的 Mongo 食谱上找到了一个请求,但数据格式不太复杂,我现在无法让它工作。这里是。
client.collection('games').update({_id: gameId, 'proposals.id': eventId, 'proposals.voters': {'$ne': user}}, {'$push': {'proposals.voters': user}, '$inc': {'proposals.vote_count': 1}, '$set': {'proposals.validate': 1}});
gameId 和 eventId 格式正确。如果我在 find() 中使用更新的查询部分,我会得到正确的游戏。但我很难理解为什么我的文档没有更新。