使用ObjectId的Mongoose Schema

时间:2013-06-17 19:58:47

标签: mongodb mongoose

我正在尝试将ObjectId设置为数组中键/值对的键,但是mongoose不允许我这样做。

var userSchema = new Schema({
    twittername: String,
    twitterID: Number,
    votedPosts: [{ObjectId: Number}]
});

而是将_id指定为关键字,将ObjectId指定为值,并忽略Number

编辑:我希望我的文档看起来像这样:

{
    "__v" : 0,
    "_id" : ObjectId("51bf6e706aa769f50d000002"),
    "twitterID" : 102016704,
    "twittername" : "gorkemyurt",
    "votedPosts" : [
        {
            ObjectId("51b897ef9aec980000000003"): 1]
        },

    ]
}

1 个答案:

答案 0 :(得分:0)

Posts是您系统中的集合类型吗?如果是这样的话:

var userSchema = new Schema({
    twittername: String,
    twitterID: Number,
    votedPosts: [{type: Schemas.Types.ObjectId , ref : 'Posts'}]
});

“帖子”是您定义的帖子模型的名称。见http://mongoosejs.com/docs/populate.html