将mongoose结果feild值分配给express中的vriable

时间:2017-05-16 13:21:30

标签: node.js express mongoose

我正在尝试将一个从momgoose的一个feild的值分配给一个变量,该变量将被用作另一个模式的值,如下所示。

function getNextSequence() {
    var x = null
    relcounter.findOne({"name":"cabi"},'seq',  function (err, configs) {
    x=configs.seq
     console.log("##"+x)
     })
     console.log(x)

}

X即将出现 另外我需要将x的这个值添加到另一个如下的字段

relconf.update( 
                   {name:"css"},
                    { $push: { relations: {id:getNextSequence(),name:req.body.name,divId:"name_div"} } }

基本上没有函数getNextsequence返回seq feild的值并分配给id feild 任何人都可以为getNextSequence()

建议正确的代码和null值的原因

1 个答案:

答案 0 :(得分:0)

它在函数中无用包装,你必须创建包含回调或Promises链接。因此,您需要阅读有关异步JavaScript https://www.sitepoint.com/javascript-goes-asynchronous-awesome/的内容,例如:

//callbacks example
...
app.get('/', function(req, res){
    //parse request params
    ...
    relcounter.findOne({"name": name},'seq',  function (err, configs) {
        if(err) {
           throw err;
        }

        res.send(configs.seq);
    });
});

//promise example
...
app.get('/', function(req, res){
    //parse request params
    ...
    relcounter.findOne({"name": name},'seq')
    .then(function(configs){
         res.send(configs.seq);
    })
    .catch(function(err)=>{
       throw err;
    })
});