Regex 如何为嵌套的动态键应用Mongo DB find命令
要使用动态键从Mongo DB嵌套字段中搜索所有匹配模式 数据库结构:Regex 如何为嵌套的动态键应用Mongo DB find命令,regex,mongodb,nested,mongodb-query,Regex,Mongodb,Nested,Mongodb Query,要使用动态键从Mongo DB嵌套字段中搜索所有匹配模式 数据库结构: _id: 'dsdsdsadadad', results: { tables: { jvm: { data: [ { Prediction: 1, Jvm: 'service_name', Status: 'OK' }, { sec
_id: 'dsdsdsadadad',
results: {
tables: {
jvm: {
data: [
{
Prediction: 1,
Jvm: 'service_name',
Status: 'OK'
},
{
second: 'New second set'
}
}
}
}
由$
尝试
db.col\u name.find('results.tables.jvm.data.$.jvm':{'$regexp':'service.*'})
使用$i
db.col\u name.find('results.tables.jvm.data.$i.jvm':{$regexp':'service.*})
通过同时给出特定键0
db.col\u name.find('results.tables.jvm.data.0.jvm':{'$regexp':'service.*'})
没有结果
预期O/p:
在上面的文档中,所有Jvm都以service*
关键字开头
谢谢,您应该直接使用点表示法来查询嵌套对象数组:
db.collection.find({ "results.tables.jvm.data.Jvm": { $regex: "service.*" } })
MongoDB将尝试在data
havingJvm
字段下查找至少包含一个嵌套文档的每个文档,这些文档与正则表达式匹配