首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >流星使用MongoDB集合和已经存在的对象数组。

流星使用MongoDB集合和已经存在的对象数组。
EN

Stack Overflow用户
提问于 2018-07-27 12:27:28
回答 1查看 39关注 0票数 1

我创建了一个python脚本,它读取一个文件并创建一个新的mongoDB集合。当我在python中打印集合的一个文档时,集合如下:

代码语言:javascript
运行
复制
{'_id': '5b5b0a55ca902423007413b9',
 'employee': 'John Doe',
 'schedule': [{'date': '08/11/2018', 'project': 'Drawing'},

                                     ... 

               {'date': '05/06/2018', 'project': 'Teaching'}
             ]
}

我在流星中使用以下代码进行了收集:

代码语言:javascript
运行
复制
Planning = new Meteor.Collection("Planning");

规划也是我在python中给出的集合的名称。现在,当我在Meteor (服务器端)中运行此代码时:

代码语言:javascript
运行
复制
Meteor.methods({
    getFullPlanning: function(){
        var one = Planning.find({ employee: 'John Doe'});
        console.log(one.employee);  
    }
});

这段代码日志未定义,但在我的集合中有一个具有该名称的雇员。我在流星上做了什么错事?

但这确实有效:

代码语言:javascript
运行
复制
Planning.find().count() // = 53 which is correct!
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-27 13:24:45

根据流星博士

find返回一个游标。它不会立即访问数据库或返回文档。游标提供fetch返回所有匹配文档,mapforEach迭代所有匹配文档,observeobserveChanges在匹配文档集更改时注册回调。

您的变量one是游标,而不是文档。如果只查找单个文档,则可以调用Planning.findOne({ employee: 'John Doe' }),它将返回单个文档,如果没有找到匹配,则调用未定义的文档。您也可以调用Planning.find({ employee: 'John Doe' }).fetch()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51557958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档