首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mongoose更新特定的子文档。(3层深)

如何使用mongoose更新特定的子文档。(3层深)
EN

Stack Overflow用户
提问于 2016-01-25 01:14:27
回答 1查看 199关注 0票数 0

我有以下文档方案

代码语言:javascript
复制
var restsSchema = new Schema({
    name: String,
    phoneNumber: String,
    menu: mongoose.Schema.Types.Mixed
});

一个实际的简化文档看起来像这样:

代码语言:javascript
复制
{
    name: "Dominos Pizza"
    phoneNumber: "1800800800"
    menu:{
             "1":{
                  name: "Plain Pizza",
                  soldCounter: 0
               },
             "2":{
                  name: "Pizza with vegetables",
                  soldCounter: 0
                }
         }
}

我的问题是,如何在不保存整个文档的情况下更新特定的soldCounter

我想我需要更改Scheme的定义。*我对mongoose和mongoDB真的很陌生。所以要温文尔雅;)

EN

回答 1

Stack Overflow用户

发布于 2016-01-25 01:26:47

使用点表示法。

代码语言:javascript
复制
db.collection.update({_id: ObjectId("...")}, {$set: {"menu.1.soldCounter": 1}});

代码语言:javascript
复制
db.collection.update({_id: ObjectId("...")}, {$inc: {"menu.1.soldCounter": 1}})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34978863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档