次のように、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() を呼び出しているので、アイテムだけを期待していましたが、何が間違っていますか?