【问题标题】:Meteor: how do I return data from fields in a specific object?Meteor:如何从特定对象的字段中返回数据?
【发布时间】:2014-11-22 17:44:53
【问题描述】:

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

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

在我的查找查询中,我只想返回 myObject 中的特定字段。例如,我需要做些什么来修改下面的查找查询,以便只返回 name

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

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

【问题讨论】:

  • 我不清楚您是在寻找名称数组还是仅包含 myObject.name 字段集的对象数组。

标签: json mongodb meteor find mongodb-query


【解决方案1】:

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

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

然后,您可以使用以下命令提取所有作者的所有姓氏:

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

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

【讨论】:

    【解决方案2】:

    这是在查询中执行此操作的一种方法:

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

    注意周围的引号

    'myObject.name'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 2022-01-01
      • 2018-12-11
      相关资源
      最近更新 更多