我有一个查询:
db.Sets.update({_id: "NxQRkA9hJ6rbjhoEN", "cards.set":"Theros"}, {"$set":{"cards.$.set_code": "THS"}});
我的数据集是这样的:
{
"name" : "THS",
"cards" : [
{
"name" : "Omenspeaker",
"set" : "Theros",
"set_code" : "THS",
"id" : "370735"
},
{
"name" : "Sedge Scorpion",
"set" : "Theros",
"set_code" : "THS",
"id" : "370765"
},
]
}
这是一组稍微完整的数据,从 mongo 命令行复制和粘贴:http: //pastebin.com/ix5QaQP3
我收到这样的错误:
LEFT_SUBFIELD only supports Object: cards.0. not: 2
我在这方面读了一大堆,并为此苦苦挣扎了 40 分钟,然后放弃了,只是编写了一个脚本来更新我的数据。我仍然想知道为什么它不起作用,以及我应该怎么做。