【问题标题】:Second mongoose Model not working第二个猫鼬模型不起作用
【发布时间】:2014-10-04 23:13:00
【问题描述】:

我正在使用 node / express / mongoDB 开发一个 api

这是我的 api.js 代码:

var express = require('express'),
    mongoose = require('mongoose');

var app = module.exports = express();

mongoose.connect('correct login to mongolab');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'Datenbank Verbindungsfehler:'));
db.once('open', function() {

    var plantSchema = new mongoose.Schema({
        // TODO Schema vervollständigen
        name: String,
        desc: String
    });

    var illnessSchema = new mongoose.Schema({
        name: String,
        desc: String
    });

    var Plant = mongoose.model('plants', plantSchema);
    var Illness = mongoose.model('illnesss', illnessSchema);

    app.get('/api/find', function(req,res) {
        Plant.find({name: new RegExp(req.query.input, "i")},function(err, query) {
            res.json(query);
        });
    });

    app.get('/api/plant', function(req,res) {
        Plant.findOne({name: req.query.name},function(err, queryPlant) {
            res.json(queryPlant);
        });

    });

    app.get('/api/illness', function(req,res) {
        Illness.find(function(err, queryIllness) {
            res.json(queryIllness);
        });

    });
});

植物架构运行良好。 api 的路由给了我一些不错的 json。

但是 /api/illness 路由只返回:[]

数据库:

它有 2 个收藏:

  1. 植物
  2. 疾病

由于第一部作品,我只会给您第二部作品的文件:

{
    "_id" : ObjectId("543006eb31e79f8a8350422c"),
    "name" : "test",
    "desc" : "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum."
}

所以 /api/illness 调用应该找到一个文档,因为他应该把它们都拿出来。

我希望有人可以帮助我。

【问题讨论】:

  • 模型名称illnesss 可能会映射到集合名称illnessses,因为illnesss 不是正确的复数形式。
  • 哦,伙计,所以我需要良好的英语吗?成功了,非常感谢,没想到会是这样的问题

标签: node.js mongodb express mongoose


【解决方案1】:

Mongoose 将您的模型名称复数以创建集合名称,因此由于 illnesss 不是正确的复数形式,因此很可能使用集合名称 illnessses

要强制 Mongoose 使用特定的集合名称,请将其作为第三个参数传递给您的 model 调用:

var Illness = mongoose.model('illnesss', illnessSchema, 'illnesss');

【讨论】:

  • 救了我的命! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-09
  • 2016-01-23
  • 2019-07-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多