Mongodb:更新嵌入文档中的字段

2024-05-17 04:05:01 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有这样的文档:

{ 
    "_id" : 1, 
    "name": "Homer J. Simpson", 
    "income" : 45000,
    "address": { 
        "street": "742 Evergreen Terrace", 
        "city": "Springfield", 
        "state": "???", 
        "email": "homer@springfield.com", 
        "zipcode": "12345", 
        "country": "USA"
     }
}

并希望更新地址文档中的某些字段(其他字段不变),如果不存在新字段,则插入新字段,例如:

^{pr2}$

有没有一种方法可以一次完成一次原子更新,还是需要循环处理新数据中的键/值并对每个键/值执行.update()


Tags: name文档idstreetcityaddressemailstate
2条回答

使用带有$set的点表示法,以单个update中的多个嵌入字段为目标:

{ "$set": {
    "address.email": "homer@gmail.com", 
    "address.zipcode": "77788", 
    "address.latitude" : 23.43545, 
    "address.longitude" : 123.45553
} }

正如塞尔吉奥所说的那样,使用一套$。在

{address.latitude : "77788"}

相关问题 更多 >