小编zic*_*ero的帖子

Node.JS,Express和MongoDB ::多个集合

我正在使用Node.JS,Express,MongoDB和EJS.我有一个关于一个数据库下的多个MongoDB集合的问题,并调用它们在前端使用.我有3个集合,经过大量研究后未发现如何调用多个集合而没有错误.

我知道将一切存储在一个集合下并不是一个问题,但我觉得最好的方法是按类别将它们分开.这是我的db/collection调用:

app.use(express.bodyParser());
var MongoClient = require('mongodb').MongoClient;

app.get('/', function(req, res){
  MongoClient.connect("mongodb://localhost:27017/michael", function(err, db) {
    if(!err) {
      console.log("We are connected");
    }
    db.collection("portfolio", function(err, collection) {
      collection.find().sort({order_num: 1}).toArray(function(err, result) {
        var portfolio = [];
        if (err) {
          throw err;
        } else {
          for (i=0; i<result.length; i++) {
            portfolio[i] = result[i];
          }
          res.render('index.html', {portfolio: portfolio});
        }
      });
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我怎么能多次调用其他集合,例如"约"集合等?我尝试添加另一个......

db.collection("about", function(err, collection) {
Run Code Online (Sandbox Code Playgroud)

...内...

MongoClient.connect("mongodb://localhost:27017/michael", function(err, db) {
Run Code Online (Sandbox Code Playgroud)

...但它在终端控制台日志中给出了错误.

提前致谢.

编辑:

这是我正在尝试做的,这给了我一个错误:

app.get('/', function(req, res){
  MongoClient.connect("mongodb://localhost:27017/michael", function(err, db) {
    if(!err) { …
Run Code Online (Sandbox Code Playgroud)

collections ejs mongodb node.js express

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

collections ×1

ejs ×1

express ×1

mongodb ×1

node.js ×1