如何通过猫鼬中的嵌套属性查找
Posted
技术标签:
【中文标题】如何通过猫鼬中的嵌套属性查找【英文标题】:How to find by nested property in mongoose 【发布时间】:2019-07-12 03:47:14 【问题描述】:我试图通过嵌套属性在我的数据库中查找一个对象,但我似乎找不到任何方法。我的架构如下,我已经展示了我是如何尝试查询的。
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);
elseconsole.log(system);
);
每次我运行这个,什么都没有返回。我期望我的数据库中会返回相应的对象。
【问题讨论】:
【参考方案1】:改变这个
System.findOne( nodes: main: Alpha: 23000, function(err, system)
if(err)console.log(err);
elseconsole.log(system);
);
到
System.findOne( 'nodes.main.Alpha': 23000, function(err, system)
if(err)console.log(err);
elseconsole.log(system);
);
这会起作用
【讨论】:
【参考方案2】:您可以指定字符串形式的对象嵌套。
System.findOne( "nodes.main.Alpha": 23000 , function(err, system)
if (err)
console.log(err);
else
console.log(system);
);
这应该可以,现在无法验证,但我记得我在某处使用过这种方式。
如果有帮助请告诉我..
【讨论】:
以上是关于如何通过猫鼬中的嵌套属性查找的主要内容,如果未能解决你的问题,请参考以下文章