MongoDB回调错误

时间:2018-03-08 00:56:34

标签: mongodb meteor callback

我正在使用Meteor和MongoDB开发一个应用程序,我正在尝试使用嵌套回调来访问新插入的文档,如下所示。但是,即使我在insert语句的成功回调中,我仍然会在数据库中没有匹配的文档时收到错误。我不确定为什么Mongo找不到我刚插入的文件。我知道这些方法是异步的,但我假设一旦find函数返回,回调将允许我访问新插入的文档。我尝试将查找放在insert语句之外,并使用自己的回调并得到相同的错误。

我也附上了错误信息。任何有关此事的帮助将不胜感激!

    insertEntryForm.call(entryFormObj, (error, result) => {
                if (error) {
                    console.log(error);
                    toastr['error'](error.reason);
                }
                else {
                    toastr['success']("Entry form created!");
                    EntryForms.find({_id: result}, function(err, res) {
                        console.log(res);
                    });
                }
            }
        );

2 个答案:

答案 0 :(得分:1)

从文档和Inserting and updating - MongoDB提供的示例中,插入回调的第二个参数是插入的对象,在find中,您正在查找{{1}的文档它应该是result,所以这应该有效:

result._id

答案 1 :(得分:0)

原来这个问题与我在Meteor中发布/订阅我的对象的方式有关。我在router.js文件中注册了我的订阅,然后能够按预期访问我的收藏。根据我对Meteor的小经验,粉笔这个。