Meteor:如何从特定对象中的字段返回数据?

时间:2014-09-28 02:53:15

标签: json mongodb meteor find mongodb-query

这应该是一个相当简单的。

myobject有各种属性,_id, name, createdBy, date

在我的查询查询中,我只希望从myObject中返回特定字段。例如,我需要做些什么才能修改下面的查询查询,以便仅返回name

myCollection.find({createdBy: someId}, {fields: {myObject: 1}}).fetch();

目前,这将返回myObject中应该执行的所有操作,我只想在myObject内返回一个字段。

2 个答案:

答案 0 :(得分:2)

以下是在查询中执行此操作的方法:

  

myCollection.find({createdBy:someId},{fields:{'myObject.name':   1}})取();

注意

周围的引号
  

'myObject.name'

答案 1 :(得分:1)

让我们假设我们正在讨论帖子,帖子文档如下:

{
  _id: 'abc123',
  title: 'All about meteor',
  author: {
    firstName: 'David',
    lastName: 'Weldon'
  }
}

然后,您可以使用以下方法从所有作者中提取所有姓氏:

var lastNames = Posts.find().map(function(post) {
  return post.author.lastName;
});

根据需要修改集合中的选择器和选项。在这种情况下使用fields可能是一个小优化,如果您在服务器上运行它并直接从数据库中提取数据。