我有这样的结构:
{
"_id" : ObjectId("501abaa341021dc3a1d0c70c"),
"name" : "prova",
"idDj" : "1",
"list" : [
{
"id" : 1,
"votes" : 2
},
{
"id" : 2,
"votes" : 4
}
]
}
我正在尝试通过此查询增加投票:
session_collection.update(
{'_id':session_collection.db.bson_serializer.ObjectID.createFromHexString(idSession),'list.id':idSong},
{$inc:{'list.$.votes':1}},
{safe: true} ,
callback);
但它不起作用,没有问题它只是不更新任何东西。
我认为这是因为'list.id'和'list。$。votes'上的['](简单引号),因为终端内的相同查询工作正常。
谢谢!
答案 0 :(得分:0)
我怀疑你的匹配没有按预期工作。回调将返回
function(err,numberofItemsUpdated,wholeUpdateObject)
如果您的匹配工作,则numberofItemsUpdated应该等于1。你需要检查idSession和idSong是否符合你的想法。