繁体   English   中英

如何在nodejs中执行猫鼬查询

[英]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

findOne参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM