我正在使用 Node(0.10.5)/Mongo(2.4)/Mongoose(3.6) 来构建游戏,并且我有一个类似这样的 Mongoose 模式......
var GameStateSchema = new Schema(
{
buildings: {
// This object will contain buildings of the same structure, e.g.
// "1": {name: "cabin", x: 128, y: 0},
// "2": {name: "lighthouse", x: 192, y: 64}
// It'll grow to several hundred buildings.
},
nextId: 3
}
);
var BuildingSchema = new Schema(
{
name: String, x: Number, y: Number
}
);
让buildings
对象中的每个建筑物使用的最佳方法是BuildingSchema
什么?我真的不想走手动验证一切的路线!
注意:该buildings
对象不是数组,例如buildings: [BuildingSchema]
,因为我听说 Mongo 在大型数组中表现不佳(并且建筑物的顺序并不重要)。