如何将mongodb查询结果分配给变量?

时间:2017-10-12 17:29:28

标签: node.js mongodb

现在我使用express连接Node.js和mongodb以及查询数据库。假设有一个名为Animal的模式,它有一个名为traits的数组字段。当我查询:

db.animals.distinct("traits")

我的结果是:

['playful', 'funny', 'lazy', 'loyal']

我是否有可能将此结果传递给变量供以后使用?非常感谢。

2 个答案:

答案 0 :(得分:0)

是。您可以将查询结果分配给变量。像这样:

var a;
db.collection('animals', function(err, collection) {
    collection.distinct("traits", function(err, results) {
        a = results;
        console.log(results);
    });
});

答案 1 :(得分:0)

首先按npm install client-sessions

安装this library

在主js页面中调用它

  var session = require('client-sessions');

给出定义

app.use(session({
  cookieName: 'session',
  secret: 'random_string_goes_here',
  duration: 30 * 60 * 1000,
  activeDuration: 5 * 60 * 1000,
})); 

将结果存储在名为animals

的会话中
    app.post('/getAnimals', function(req, res) {    
     // inside your DB query callback{}
       req.session.animals=  db.animals.distinct("traits")                       
   })

在需要时从会话中检索数据

console.log(req.session.animals);   //will give
['playful', 'funny', 'lazy', 'loyal']

console.log(req.session.animals[0]);  // will give first element
playful

如果此解决方案解决了您的问题,请告诉我:)?