我從我的節點應用程序中使用的貓鼬像這樣調用的MongoDB:獲得所有文件從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'。這只是一個錯字嗎? – JohnnyHK 2013-02-17 22:53:21