【发布时间】:2013-02-18 08:11:23
【问题描述】:
我正在使用 Mongoose 从我的 Node 应用程序调用 MongoDB,如下所示:
var query = itemModel.find();
query.exec(function (err, items) {
console.log(err);
socket.emit("items", items);
});
我有 3 个这样定义的模型:
var Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;
var playerModel = require('./models/player.js').make(Schema, mongoose);
var characterModel = require('./models/character.js').make(Schema, mongoose, ObjectId);
var itemModel = require('./models/item.js').make(Schema, mongoose);
我的模型如下所示:
function make(Schema, mongoose) {
itemSchema = new Schema({
name: String
, bonus: [{
type: String
, value: Number
}]
, price: Number
, slot: String
});
return mongoose.model('Character', characterSchema);
}
exports.make = make;
出于某种原因,我得到了所有文件,无论它们是物品、角色还是玩家。由于我在 itemModel 上调用 find(),所以我只期待 Items,我做错了什么?
【问题讨论】:
-
您的“我的模型看起来像”代码看起来不正确。您正在创建
itemSchema,然后在mongoose.model调用中引用characterSchema。这只是一个错字吗?