mongoose相当于一个mongoDB查询

时间:2017-04-24 03:17:56

标签: node.js mongodb mongoose

我跟随simple tutorial

事情是,我使用的是momngoose而不是Mongo。 在我达到这一点之前,我没有遇到任何问题:

app.get('/', (req, res) => {
  db.collection('quotes').find().toArray((err, result) => {
    if (err) return console.log(err)
    // renders index.ejs
    res.render('index.ejs', {quotes: result})
  })
})

有了这个,可以在index.ejs上访问和操作引号

现在,我尝试这样做:

  app.get('/theroute', (req, res) => {
    MyMongoModel.find()
    .then(documents => {
      res.render('index.ejs', *not entirely sure on what to put here*)
    })
  });

但是当我尝试使用index.ejs页面上的文档时,我得到了一个"未定义"结果

就是这样。不确定如何谷歌这个或我该怎么做。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

MyMongoModel.find({}, (err, foundQuotes) => {
    if(err) return console.log(err);
    res.render('index.ejs', {quotes: foundQuotes});
}

传递给find()的第一个参数{}将检索与特定模型匹配的所有数据库条目,并将该集合传递给回调函数(find()的第二个参数) ,foundQuotes

在回调函数中,呈现index.ejs(如果没有错误),并将foundQuotes分配给名为quotes的变量。然后可以在quotes文件中访问index.ejs