如何在 mongodb 中已经存在的嵌套文档中插入字段?



>我有以下文档结构。

{ 
"_id" : ObjectId("585a985f67962d91c0f3a1f6"), 
"Email" : "abc@gmail.com", 
"PhoneNumber" : "9999999999", 
"TwoFactorEnabled" : false, 
"LockoutEndDateUtc" : null, 
"LockoutEnabled" : true, 
"AccessFailedCount" : NumberInt(0), 
"DisplayName" : "Nilesh Guria", 
"CreatedOn" : ISODate("2016-12-21T14:57:35.379+0000"), 
"UpdatedOn" : ISODate("2018-09-17T21:32:16.027+0000"),  
"Wallet" : {
"Balance" : 1000,
"UnbilledUsage": 100
}
}

我想在所有此类文档的"钱包"字段中添加一个名为"CustomerCredit"的字段,默认值为 0。如何实现这一点?

db.collection("collectionName")
.updateMany({ "Wallet.CustomerCredit": { $exists: false }},
{ $set:{ "Wallet.CustomerCredit": 0 }});

来自 python shell。

db.collection.update_many({"$set": {"Wallet.CustomerCredit": 0}})

您可以使用update_many因为更新现已弃用。 从蒙古壳

db.collection.updateMany({},{$set: {"Wallet.CustomerCredit": 0}})

尝试这样的事情:

db.collection.aggregate([
{
$addFields{
"Wallet.CustomerCredit": 0
}
}
])

查看文档

最新更新