【问题标题】:Importing mongoDB collection to Express Model将 mongoDB 集合导入 Express 模型
【发布时间】:2015-04-12 17:30:01
【问题描述】:

我目前有一个名为 Consumer_Complaints 的集合,它位于一个名为 consumer_Complaints 的 mongoDB 数据库中(抱歉让您感到困惑)。

我可以通过 mongo shell 访问 Consumer_Complaints 集合,但我无法在我的应用程序中访问它。我目前正在使用快递。

这是我的代码(更新):

var mongoose = require("mongoose");

//open connection to consumer_Complaints database

mongoose.connect('mongodb://localhost/consumer_Complaints')

//send error if connection fails
mongoose.connection.on('error', console.error.bind(console, 'connection error:' ));

var Schema = mongoose.Schema;

var complaintSchema = new Schema({
    complaint_ID: String,
    product: String,
    sub_Product: String,
    issue: String,
    sub_Issue: String,
    state: String,
    zip_Code: String,
    submitted_Via: String,
    date_Received: String,
    date_sent_to_Company: String,
    company: String,
    company_Response: String,
    timely_Response: String,
    consumer_Disputed: String,
});

complaintSchema.set('collection', 'Consumer_Complaints');

var model = mongoose.model("Model", complaintSchema)

model.find({}, function (err, results) {
    res.json(results);
    console.log(results);//Your Json result
});

Previous Answer- Found Here 这似乎是我想要的,但使用的语法与我在 mongoose 文档中看到的不同,当我尝试复制它时,出现以下错误。

“TypeError: 无法调用未定义的方法‘find’”

任何帮助澄清链接帖子中的最佳答案,或找出我做错了什么将不胜感激!

【问题讨论】:

    标签: javascript mongodb express mongoose


    【解决方案1】:

    //定义的模式 var mongoose = require('mongoose');

    var Schema=mongoose.Schema;

    var complaintSchema = new Schema({
        complaint_ID: String,
        product: String,
        sub_Product: String,
        issue: String,
        sub_Issue: String,
        state: String,
        zip_Code: String,
        submitted_Via: String,
        date_Received: String,
        date_sent_to_Company: String,
        company: String,
        company_Response: String,
        timely_Response: String,
        consumer_Disputed: String,
        }
    

    complaintSchema .set('collection', 'Consumer_Complaints');

    然后在 server.js 中:-

    app.get('/', function (req, res) {
        console.log("I received a GET request")
    
        complaintSchema.find({}, function (err, results) {
            res.json(results);
            console.log(results);//Your Json result
        });
    });
    

    【讨论】:

      【解决方案2】:

      Model.find 将返回一个回调。您可以尝试以下方法来替换您的 console.log(Model.find()) 。

      Model.find({}, function (err, docs) {
        if (err) console.log(err);
        
        console.log(docs);
      });

      更多文档在这里:http://mongoosejs.com/docs/api.html#model_Model.find

      【讨论】:

        猜你喜欢
        • 2020-04-30
        • 1970-01-01
        • 2017-09-19
        • 2013-08-20
        • 2017-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-06
        相关资源
        最近更新 更多