[英]how to execute mongoose query in nodejs
我是nodeJS和JS的新手。
我需要使用findone从猫鼬集合中获取数据,并想存储在变量中。 下面的代码将值存储在resultArray中,但不存储在memindex中 。 不确定如何存储在memindex中 。
memindex = Manufacturer.findOne({name: result[key].name}, function(err, resultarray) {
console.log("resultarray", resultarray);});
我在memindex中需要值的原因是,我需要在其他条件下使用它。
尝试这种方式:
var memindex;
Manufacturer.findOne({name: result[key].name},function(err, resultarray) {
console.log("resultarray", resultarray);
memindex = resultarray;
});
使用函数而不是变异全局变量:
const memindex = await Manufacturer.findOneAsync({name: result[key].name});
这是一个异步功能,您可能需要考虑将Promise驻留在Promise和/或async / await中。
暂时将其他两个答案搁置一旁,由于某种原因,这些答案会要求您更改分配变量的方式。
您的初始代码几乎已经存在。 仅在您的回调函数中,您不会从查询中返回结果。
memindex = Manufacturer.findOne({name: result[key].name}, function(err, resultarray) {
console.log("resultarray", resultarray);
return resultarray;
});
findOne
的第一个参数是您的搜索过滤器,第二个参数是响应完成后将被调用的函数。 在此示例中,我们将数据返回给调用方,在本例中为memindex
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.