猫鼬对象上的findOne

Err*_*ald 4 javascript mongoose mongodb

我有一个猫鼬架构如下

var user_schema = new Schema({
    reset : { type: Schema.Types.Mixed, required: true }
});
Run Code Online (Sandbox Code Playgroud)

给reset一个这样的对象以存储在数据库中

{
    id: 23,
    name: 'something'
}
Run Code Online (Sandbox Code Playgroud)

我想根据重置对象中的ID查找文档。这是我尝试过的方法,但从未得到任何结果。

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

猫鼬是否可以像这样进行查找?

Ale*_*lex 5

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

您是否可以使用的嵌入式文档 Reset

var reset_schema = new Schema({
    id        : Int,
    name      : String
});

var user_schema = new Schema({
    name      : String,
    reset     : reset_schema 
});
Run Code Online (Sandbox Code Playgroud)

然后像这样查询:

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

});
Run Code Online (Sandbox Code Playgroud)