Mongodb的左_子字段错误,即使元素是对象
我有一个疑问:Mongodb的左_子字段错误,即使元素是对象,mongodb,Mongodb,我有一个疑问: db.Sets.update({_id: "NxQRkA9hJ6rbjhoEN", "cards.set":"Theros"}, {"$set":{"cards.$.set_code": "THS"}}); 我的数据集如下所示: { "name" : "THS", "cards" : [ { "name" : "Omenspeaker", "set" : "Theros", "set_code" : "THS",
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"
},
]
}
LEFT_SUBFIELD only supports Object: cards.0. not: 2
以下是从mongo命令行复制和粘贴的一组稍微完整的数据:
我得到这样一个错误:
{
"name" : "THS",
"cards" : [
{
"name" : "Omenspeaker",
"set" : "Theros",
"set_code" : "THS",
"id" : "370735"
},
{
"name" : "Sedge Scorpion",
"set" : "Theros",
"set_code" : "THS",
"id" : "370765"
},
]
}
LEFT_SUBFIELD only supports Object: cards.0. not: 2
我读了很多这方面的文章,挣扎了40分钟才放弃,只是写了一个脚本来更新我的数据。我仍然想知道为什么它不起作用,我该怎么做。从数据集中删除键为空的键值对 MongoDB在更新的子文档中遇到空键时抛出
LEFT_子字段,仅支持Object:
错误
示例数据很好,但pastebin数据不同。在每个子文档中都有一个空的键值对(“”):“”
)
从您的pastebin数据:
{
"name" : "THS",
"cards" : [
{
"name" : "Abhorrent Overlord",
...
"legality_Peasant" : "",
"legality_Pauper" : "",
"" : "" <------ this line causes the issue
},
...
{
“名称”:“THS”,
“卡片”:[
{
“名字”:“可恶的霸主”,
...
“合法性”:“,
“合法性”——“,
“”:““您可能正在使用一个阴暗的映射程序?我从未在mongodb中看到过左\u子字段
。这可能会有所帮助:我正在使用mongodb 2.4.6。不过谢谢您的建议。”。