使用 mongoose 访问现有的 mongodb 集合

Posted

技术标签:

【中文标题】使用 mongoose 访问现有的 mongodb 集合【英文标题】:Access an existing monogodb collection using mongoose 【发布时间】:2016-04-12 11:18:11 【问题描述】:

我正在使用 Nodejs 构建一个应用程序,我需要在服务器端的集合上执行一些功能。有人告诉我使用猫鼬来访问该集合。到目前为止,这是我的代码:

        var mongoose = require('mongoose');
        var Schema = mongoose.Schema;
        mongoose.connect('mongodb://localhost/test', function(err)
            if(!err)
                console.log("no error!")
            
        );
        var doc = mongoose.model('foo', 
                       new Schema(name : String), 
                       'answers'); 
        doc.find(, function(err,collection) 
          console.log(collection)
        );

我想要访问的集合称为“答案”。我想访问数据并进行一些更改并将其发布到另一个集合。上面的代码打印了一个空数组。我将不胜感激一些帮助。

【问题讨论】:

看起来你已经创建了一个模型,但还没有向数据库添加任何东西,这就是为什么你得到一个空集合 在使用猫鼬之前,我确实向 Db 添加了一些东西。我检查了它,数据在集合中。 代码看起来不错。您确定 answers 集合在 test 数据库中吗? 这是一个预先存在的集合吗?它是在您为其编写模型之前创建的吗? 可能重复***.com/questions/5794834/… 【参考方案1】:

试试这个:

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    mongoose.connect('mongodb://localhost/test', function(err)
        if(!err)
            console.log("no error!")
        
    );
    var doc = mongoose.model('answer', new Schema(
        name : String)
    ); 
    doc.find(, function(err,collection) 
      console.log(collection)
    );

【讨论】:

以上是关于使用 mongoose 访问现有的 mongodb 集合的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS 和 Mongoose:将元素添加到现有的空数组

流星客户端访问现有的 mongoDB

使用 mongoose 将表单数据插入 mongodb 时出现莫名其妙的行为

Mongoose:引用自定义字段名称

使用 mongoose-observer 库时出现 MissingSchemaError

无法通过 express/mongoose/angularjs 从 Mongodb 访问数据