Mongo查找操作返回文档(对象)。怎么访问这个?

时间:2015-01-20 15:33:00

标签: javascript mongodb meteor

我在给定属性值的mongo集合中搜索文档。我希望保存该文档并吐出它包含的属性。我怎么能这样做?我知道这很简单,但我一定做错了什么

仅供参考,我对mongo atm很新:) - 使用meteorjs

以下是代码:

var show = "The Walking Dead";
var TVShowObject = TVShow_List.find( {name: show} ); 
var channel_property = TVShowObject.channel;

并返回mongo文档:

{ 
"_id": ObjectId("507f1f77bcf86cd799439011"),
"name": "The Walking Dead",
"channel": "AMC"
}

由于某种原因,channel属性未存储到channel_property变量中。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Collection.find会返回LocalCursor而不是文档,您需要使用Collection.findOne

var TVShowObject = TVShow_List.findOne( {name: show} );
// displays "AMC"
console.log(TVShowObject);

如果希望查找操作返回多个文档,则需要使用LocalCursor.forEach

var cursor = TVShow_List.find({name:show});
cursor.forEach(function(tvShow){
  console.log(tvShow.channel);
});

答案 1 :(得分:0)

如果在fetch()之后使用,您应该使用find()一个对象数组。或者,如果您只期望一个结果,则在大多数情况下findOne()更好。

var TVShowObject = TVShow_List.find( {name: show} ).fetch();