如何通过猫鼬中的嵌套属性查找

Sat*_*dhu 9 javascript mongoose mongoose-schema

我试图通过嵌套属性在我的数据库中找到一个对象,我似乎找不到任何方法来做到这一点。我的架构如下,我已经展示了我如何尝试查询。

var stations = {
    Alpha: Number,
    Beta: Number
};
var systemSchema = new mongoose.Schema({
    name: String,
    location: String,
    nodes: {
        main: stations,
        secondary: stations,
        tertiary: stations
    }
});

var System = mongoose.model("System", systemSchema);

System.findOne({ nodes: { main: {Alpha: 23000}}}, function(err, system){
    if(err){console.log(err);}
    else{console.log(system);}
});
Run Code Online (Sandbox Code Playgroud)

每次我运行它时,都不会返回任何内容。我原以为我的数据库中会返回相应的对象。

Kan*_*n T 16

改变这个

System.findOne({ nodes: { main: {Alpha: 23000}}}, function(err, system){
 if(err){console.log(err);}
  else{console.log(system);}
});
Run Code Online (Sandbox Code Playgroud)

 System.findOne({ 'nodes.main.Alpha': 23000}, function(err, system){
   if(err){console.log(err);}
   else{console.log(system);}
 });
Run Code Online (Sandbox Code Playgroud)

这将工作