Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Mongodb将对象插入到另一个属性内的数组中_Json_Database_Mongodb_Mongodb Update - Fatal编程技术网

Json Mongodb将对象插入到另一个属性内的数组中

Json Mongodb将对象插入到另一个属性内的数组中,json,database,mongodb,mongodb-update,Json,Database,Mongodb,Mongodb Update,我需要更新一个文件,插入一个投标到投标数组,这是投标的一部分。下面是一个示例文档: { "_id" : "1044300051", "Bids" : { "Bid" : [ { "Bidder" : { "_id" : "pickford25", "_Rating" : 255, "Location" : "ANIME PARADISE",

我需要更新一个文件,插入一个投标到投标数组,这是投标的一部分。下面是一个示例文档:

{
  "_id" : "1044300051",
  "Bids" : {
    "Bid" : [
        {
            "Bidder" : {
                "_id" : "pickford25",
                "_Rating" : 255,
                "Location" : "ANIME PARADISE",
                "Country" : "USA"
            },
            "Time" : "Dec-07-01 15:02:54",
            "Amount" : 1.12
        },
        {
            "Bidder" : {
                "_id" : "arlnwtkwsk@aol.com",
                "_Rating" : 61,
                "Location" : "ARCADE, NEW YORK",
                "Country" : "USA"
            },
            "Time" : "Dec-09-01 15:02:54",
            "Amount" : 1.25
        }
    ]
  }
}
以下是我尝试过的一些查询:

db.items.update({_id: "1678348584"}, {$set: {Bids: "Bid[]"}},{$push: {"Bids.Bid": {"Amount":1000}}});
db.items.update({_id: "1678348584"}, {$push: {"Bids": [{"Amount":1000}]}});

在上面的示例中,我试图更新的特定id最初将“Bids”设置为null

您就快到了。要访问嵌套数组,必须使用
Bids.Bid
。您的查询应该类似于

db.items.update({_id: "1678348584"}, {$push: {"Bids.Bid": {"Amount":1000}}});

这给了我这个错误:WriteResult({“nMatched”:0,“nUpserted”:0,“nModified”:0,“writeError”:{“code”:16837,“errmsg”:“位置运算符没有从查询中找到所需的匹配项。未展开的更新:Bids.$.Bid”})我刚才看到了这一点。更新了查询。这导致了错误:“code”:16837,“errmsg”:“无法使用部分(Bids of Bids.Bid)遍历元素({Bids:null})”-我试图更新的特定ID的Bids初始设置为null。好吧,您在问题中没有提到对不起,我不知道这会影响答案。我将编辑这个问题。