【发布时间】:2020-07-22 06:21:14
【问题描述】:
在 replaceOne() 的情况下 --> 它用新对象替换整个对象 -->如果我想要旧对象的少量字段并用新对象替换该对象怎么办
【问题讨论】:
-
您能否更具体地使用您尝试过的示例代码。尝试阅读kb.objectrocket.com/mongo-db/mongoose-replaceone-1016
标签: database mongodb mongodb-query
在 replaceOne() 的情况下 --> 它用新对象替换整个对象 -->如果我想要旧对象的少量字段并用新对象替换该对象怎么办
【问题讨论】:
标签: database mongodb mongodb-query
replaceOne 将替换整个文档并使用您需要使用 updateOne 替换的文档进行更新,而这只会更新您希望其余字段保持原样的特定字段
例如
db.restaurant.updateOne(
{ "name" : "Central Perk Cafe" },
{ $set: { "violations" : 3 }},
{upsert:true}
);
如果新文档不存在,此处的 upsert:true 选项将有助于插入新文档,您可以在此处阅读更多信息 https://docs.mongodb.com/manual/reference/method/db.collection.updateOne/
【讨论】:
你可以使用更新 如果您的文件是 {name:"company",country:"India",owner:"me"}
db.company.update({
_id:*id*
},
{$set:{
name:"mycompany",
country:"United Kingdom"}})
【讨论】: