首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保持所有字段同时在mongodb中执行$elemMatch投影

如何保持所有字段同时在mongodb中执行$elemMatch投影
EN

Stack Overflow用户
提问于 2015-10-14 08:47:34
回答 1查看 239关注 0票数 0

文件如下:

代码语言:javascript
复制
{
    name:"james",
    files:[
        {name:"file1.txt", content:"..."},
        {name:"file2.txt", content:"..."},
        {name:"file3.txt", content:"..."}
    ],
    status:4
}

想要进行查询并返回:

  1. 所有根字段都包括files
  2. files只包含file2.txt信息,coze content很大,只对files2.txt感兴趣

我知道在查找查询中使用$elemMatch,如下所示:

代码语言:javascript
复制
db.collection.find(
    {'files':{$elemMatch:{name:'file2.txt'}} }, 
    {name:1, status:1, 'files.$':1 } 
)

有没有办法避免列出投影中的所有字段并得到所有的键?

要求:要求所有字段,但不列出键(不要列出name:1, status:1)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-14 09:22:38

这就是您所要求的,返回所有字段,但是对于files字段,只返回"files2.txt“值吗?

代码语言:javascript
复制
db.collection.find({ 'files':{$elemMatch:{name:'file2.txt'}} }, { 'files.$':1, name:1, status:1 } )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33120655

复制
相关文章

相似问题

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