Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在搜索完成并填充结果对象之前,结果将被发送回mongodb_Javascript_Mongodb_Asynchronous_Mongoose - Fatal编程技术网

Javascript 在搜索完成并填充结果对象之前,结果将被发送回mongodb

Javascript 在搜索完成并填充结果对象之前,结果将被发送回mongodb,javascript,mongodb,asynchronous,mongoose,Javascript,Mongodb,Asynchronous,Mongoose,我有一个用户对象,它有一个名为categories的属性,它应该包含一个表示类别及其书签的对象数组。此数组可以有这些对象的多个实例。我在那个物体里面有“名字”和“散文”的属性。“随笔”是指随笔范本实例 下面是我的模型是如何建立的。这在用户架构上: categories: {type: Array, name: String, essays: {type: Array, id: {type: Schem

我有一个用户对象,它有一个名为categories的属性,它应该包含一个表示类别及其书签的对象数组。此数组可以有这些对象的多个实例。我在那个物体里面有“名字”和“散文”的属性。“随笔”是指随笔范本实例

下面是我的模型是如何建立的。这在用户架构上:

categories: {type: Array,
            name: String,
            essays: {type: Array,
                        id: {type: Schema.Types.ObjectId,
                            ref: 'Essay'}}
            }
,
我正在尝试搜索用户,然后检索categories属性并获取这些ID。在获得这些ID之后,我在我的论文模式中搜索这些ID并检索所有数据

以下是我正在使用的方法:

controller.myCategories = function(req, res){
    var result = [];
    User.findOne({_id: req.headers.id}).then(function(user){
        user.categories.forEach(function(category, index, ins){

            var essayObj = {name: category.name};


            essayObj.essays = [];
            category.essays.forEach(function(essayId, index){
                var tempId = essayId;
                Essay.find({_id: tempId }).then(function(essay){
                    essayObj.bookmarks.push(essay)
                });
            });
            result.push(essayObj);
        })

    }).then(function(){
        res.status(200).send(result);   
        }); 
};

我遇到的问题是,结果是在对象中填充论文数据之前发送的,并且该对象添加到结果数组中。我得到的只是一个空的带有名字的essayObj。让代码按顺序编译的最佳方法是什么?

试着阅读文档:嘿,gforce,正要回来“回答我自己的问题”。谢谢你的回复!是的,我最终重做了我的模式,并添加了一个类别模型,在该模型中,论文被绑定到。类别与用户帐户绑定。完成了填充请求以收集数据并将其推回到我的angular应用程序中。尝试阅读文档:嘿,gforce,正要回来“回答我自己的问题”。谢谢你的回复!是的,我最终重做了我的模式,并添加了一个类别模型,在该模型中,论文被绑定到。类别与用户帐户绑定。完成填充请求以收集数据并将其推回到我的angular应用程序中。