Mongoose Schema原型

时间:2015-09-03 15:00:45

标签: node.js mongodb mongoose

我在Mongoose Schemes中有4个不同变量的类似对象,并希望创建一个多次使用的Object Array。我知道我可以使用例如Box: [Vector] array但这很不方便。一个例子可以更好地解释它:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var Vector4 = new Schema({
    x: { type: Number },
    y: { type: Number },
    width: { type: Number },
    height: { type: Number }
});

module.exports = mongoose.model('Entity', new Schema({
    name: { type: String },
    version: { type: Number },
    AABB:     Vector4, // want the Vector Object here
    Box:      Vector4, // want the Vector Object here.
    Viewport: Vector4, // want the Vector Object here.
    Outline:  Vector4, // want the Vector Object here.
    ......
}));

我对Mongoose来说比较新,所以我可能会错误地使用这个Schema。任何输入都会很棒。

1 个答案:

答案 0 :(得分:1)

mongoose模式只是一个基本的JS对象。你会做这样的事情:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var Vector4 = {
    x: { type: Number },
    y: { type: Number },
    width: { type: Number },
    height: { type: Number }
};

module.exports = mongoose.model('Entity', new Schema({
    name: { type: String },
    version: { type: Number },
    AABB:     Vector4, // want the Vector Object here
    Box:      Vector4, // want the Vector Object here.
    Viewport: Vector4, // want the Vector Object here.
    Outline:  Vector4, // want the Vector Object here.
    ......
}));

区别在于Vector4不是Schema,而只是一个对象。