代码之家  ›  专栏  ›  技术社区  ›  Arnaud

MongoJS不返回结果,而MongoClient则返回结果

  •  0
  • Arnaud  · 技术社区  · 10 年前

    我正在尝试使用Node.js连接到MongoDB。MongoClient工作正常,但Mongojs不能:

    var MongoClient = require('mongodb').MongoClient;
    var mongojs = require('mongojs');
    var url = '...';
    
    MongoClient.connect(url, function(err, client) {
        var cursor = client.db("events").collection('events').find();
        cursor.each(function(err, event) {
            console.log("OK MONGODB");
        });     
    });
    
    mongojs(url, ['events']).events.find(function(err, events) {
        events.forEach(function(event) {
            console.log("OK MONGOJS");
        });
    });
    

    “OK MONGODB”被多次记录;“OK MONGOJS”不是。

    请问怎么了?

    1 回复  |  直到 10 年前
        1
  •  1
  •   zangw    10 年前

    在您的情况下 url 用于 MongoClient 应该不同于 mognojs .

    假设 网址 'mongodb://localhost/' ,对于 Mongo客户端 。然而 url used in mongojs 应添加dbname,如下所示

    var db = mongojs('mongodb://localhost/mydb', ['mycollection']);
    

    所以应该如下

    mongojs(url+'events', ['events']).events.find(...);