这应该是一个相当简单的。
myobject
有各种属性,_id, name, createdBy, date
等
在我的查询查询中,我只希望从myObject中返回特定字段。例如,我需要做些什么才能修改下面的查询查询,以便仅返回name
?
myCollection.find({createdBy: someId}, {fields: {myObject: 1}}).fetch();
目前,这将返回myObject
中应该执行的所有操作,我只想在myObject
内返回一个字段。
答案 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
可能是一个小优化,如果您在服务器上运行它并直接从数据库中提取数据。