【发布时间】:2019-02-25 20:57:27
【问题描述】:
我在mongo db 中创建了两个集合bear 和bears。我已经在 express 代码中定义了熊集合,但它正在访问熊数据。我现在很困惑。 (bear 和 bears 具有相同的字段(first_name 和 last_name)但值不同。
这是我的代码
app.js
router.get('/api/bears', (req, res) => {
console.log("dfgdg",req.body)
Bear.getBears((err, bear) => {
if(err){
throw err;
}
console.log("fdggfd",bear);
res.json(bear);
});
});
models/bear.js
const mongoose = require('mongoose');
const bearSchema = mongoose.Schema({
first_name:{
type: String,
required: true
},
last_name:{
type: String,
required: true
},
create_date:{
type: Date,
default: Date.now
}
});
const Bear = module.exports = mongoose.model('Bear', bearSchema);
module.exports.getBears = (callback, limit) => {
Bear.find(callback).limit(limit);
}
谁能知道为什么取熊数据而不是熊?
【问题讨论】:
-
mongoose 将使用模型名称的复数名称在 MongoDB 上创建一个集合(默认行为)。所以你的模型熊指向熊系列。这就是您从熊收集中获取数据的原因。
-
默认情况下,您的收藏名称将附加额外的“s”,因此您的熊收藏将是熊。通过
show collections检查您的数据库集合
标签: javascript node.js mongodb collections