首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB,如果嵌入文档不存在,如何更新集合中的嵌入文档?

问MongoDB,如果嵌入文档不存在,如何更新集合中的嵌入文档?
EN

Stack Overflow用户
提问于 2012-09-19 01:55:21
回答 1查看 1.9K关注 0票数 2

如果单查询中不存在嵌入文档,那么如何更新集合中的嵌入文档或插入文档?假设我有一份像下面这样的文件。“记录”是一组嵌入的文档。

代码语言:javascript
复制
{
    id: "1",
    records: [
        {userId:"5", userData: "..."},
        {userId:"12", userData: "..."},
        {userId:"27", userData: "..."}
    ]
}

我知道如何在单独的查询中插入或更新“记录”。但是,我能否将这些查询组合起来,使其类似于MySQL在重复键更新时的工作方式?我希望避免执行另一个查询,只是为了找出是否存在嵌入式文档。

代码语言:javascript
复制
db.myCollection.update(
    {id:"1", records.userId:"12"},
    {records.$.userData:{"... new data ..."}}
);

db.myCollection.update(
    {id:"1"},
    {records:
        {$push:
            {userId: "33", userData: {"... new data ..."}}
        }
    }
);

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-09-19 02:29:04

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12487537

复制
相关文章

相似问题

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