对象属性上的Mongoose findOne

时间:2012-11-13 15:54:35

标签: javascript mongodb mongoose

我有一个mongoose架构如下

var user_schema = new Schema({
    reset : { type: Schema.Types.Mixed, required: true }
});

其中reset被赋予这样的对象以存储在数据库中

{
    id: 23,
    name: 'something'
}

我想根据重置对象中的id查找文档。这就是我尝试过但我从未得到过的结果。

models.Users.findOne({ 'reset.id': id }, function (err, user) {
    // user is null 
});

使用mongoose可以进行这样的查找吗?

1 个答案:

答案 0 :(得分:4)

我认为你遇到的问题是使用混合模式类型。

您是否可以使用Reset

的嵌入式文档?
var reset_schema = new Schema({
    id        : Int,
    name      : String
});

var user_schema = new Schema({
    name      : String,
    reset     : reset_schema 
});

然后查询:

models.Users.findOne({ 'reset.id': id }, function (err, user) {

});