首页 > 解决方案 > Mongoose - 返回引用文档数组时如何选择特定字段?

问题描述

预期结果:仅获取我参考文档的“内容”属性。

我有一个猫鼬模型,我会过滤 findOne 结果。我使用填充方法来获取我的对象模式的引用。

这是我的模型:

function getAuthorPost(username){
  return User.findOne({ username })
    .populate('posts').exec((err, posts) => { 

        console.log("posts: ", posts) 
    })
}

它返回:

{ posts:                                                        
   [ { author: [Array],                                                 
       _id: 5c8c31e2e204566cd7ecef4a,                                   
       content: 'April' },                                              
     { author: [Array],                                                 
       _id: 5c8c31e2e204566cd7ecef4b,                                   
       content: 'Great spring' },                                       
     { author: [Array],                                                 
       _id: 5c8c31e2e204566cd7ecef4c,                                   
       content: 'Natural path' },                                       
     { author: [Array],                                           
       _id: 5c8c31e2e204566cd7ecef4d,                                   
       content: 'Better cherry' },                                     
     { author: [Array],                                                 
       _id: 5c8c31e2e204566cd7ecef4e,                                   
       content: 'Water life' } ],                           
  _id: 5c8c255fed727439d6d5b860,                                        
  username: 'Frank',                                         
  __v: 1
 }

我只会得到内容字段。

当我做

.populate('posts', {posts:"content"}).exec((err, posts) 

它返回我的 id 如下:

{
  posts:                                                        
   [ { _id: 5c8c31e2e204566cd7ecef4a },                                 
     { _id: 5c8c31e2e204566cd7ecef4b },                                 
     { _id: 5c8c31e2e204566cd7ecef4c },                                 
     { _id: 5c8c31e2e204566cd7ecef4d },                                 
     { _id: 5c8c31e2e204566cd7ecef4e } ],                               
  _id: 5c8c255fed727439d6d5b860,                                        
  username: 'youmbo',                                                   
  __v: 1 
}    

我怎么能得到内容字段?感谢您的任何提示

标签: javascriptnode.jsmongoose

解决方案


推荐阅读