我创建了一个python脚本,它读取一个文件并创建一个新的mongoDB集合。当我在python中打印集合的一个文档时,集合如下:
{'_id': '5b5b0a55ca902423007413b9',
'employee': 'John Doe',
'schedule': [{'date': '08/11/2018', 'project': 'Drawing'},
...
{'date': '05/06/2018', 'project': 'Teaching'}
]
}
我在流星中使用以下代码进行了收集:
Planning = new Meteor.Collection("Planning");
规划也是我在python中给出的集合的名称。现在,当我在Meteor (服务器端)中运行此代码时:
Meteor.methods({
getFullPlanning: function(){
var one = Planning.find({ employee: 'John Doe'});
console.log(one.employee);
}
});
这段代码日志未定义,但在我的集合中有一个具有该名称的雇员。我在流星上做了什么错事?
但这确实有效:
Planning.find().count() // = 53 which is correct!
发布于 2018-07-27 13:24:45
根据流星博士
find
返回一个游标。它不会立即访问数据库或返回文档。游标提供fetch
返回所有匹配文档,map
和forEach
迭代所有匹配文档,observe
和observeChanges
在匹配文档集更改时注册回调。
您的变量one
是游标,而不是文档。如果只查找单个文档,则可以调用Planning.findOne({ employee: 'John Doe' })
,它将返回单个文档,如果没有找到匹配,则调用未定义的文档。您也可以调用Planning.find({ employee: 'John Doe' }).fetch()
。
https://stackoverflow.com/questions/51557958
复制相似问题