我有以下文件计划
var restsSchema = new Schema({
name: String,
phoneNumber: String,
menu: mongoose.Schema.Types.Mixed
});
和实际的简化文档如下:
{
name: "Dominos Pizza"
phoneNumber: "1800800800"
menu:{
"1":{
name: "Plain Pizza",
soldCounter: 0
},
"2":{
name: "Pizza with vegetables",
soldCounter: 0
}
}
}
我的问题是如何在不保存整个文档的情况下更新特定的soldCounter
。
我想我需要更改Scheme定义。 *我对mongoose和mongoDB真的很陌生。所以要温柔;)
答案 0 :(得分:2)
带点符号。
db.collection.update({_id: ObjectId("...")}, {$set: {"menu.1.soldCounter": 1}});
或
db.collection.update({_id: ObjectId("...")}, {$inc: {"menu.1.soldCounter": 1}})