如何在 MongoDB 中更新嵌入子元素中的数据

How to update data in a embedded child element in MongoDB

它可能是我遗漏的一些小东西,但对于我来说,我无法弄清楚如何更新我 mongodb 中的嵌入式文档。以下是我正在尝试更新的文档:

db.customers.insert({
_id: 'custId2',
Fname:"john" ,
Lname:"Mandel" ,
Pnum:"051-895421" ,
Mnum:"087-478512" ,

    orders: {
                    Orddate:"25-10-2015" ,
                    Ordtime:"15.50" ,
                    ProdType: "accessory",
                    Product: "USB Drive",
                    Netcost:40 ,

                },
    address:    {   
                        Billingaddress:"21 Culrua, Brown Street, Portlaw, Co.Wexford" ,
                        Deliveryaddress:"21 Culrua, Brown Street, Portlaw, Co.Waterford" 
                    }
});

这是我正在尝试执行的更新查询

db.customers.update(
{Fname: "john" },
{
$set{   
        "address.Billingaddress":"34 Vegas Street",
        "address.Deliveryaddress":"34 Vegas Street"
    }
}
);

但是当我 运行 它时,我得到了这个错误,但我看不到我遗漏了什么

Syntax error: Unexpected Token {

实际上您的查询是正确的,但是您在 $set 之后遗漏了一些小东西 : 所以查询如下:

db.customers.update({
    "Fname": "john"
}, {
    "$set": {
        "address.Billingaddress": "34 Vegas Street",
        "address.Deliveryaddress": "34 Vegas Street"
    }
})

检查 mongo update .