Mongodb 使用正则表达式在Mongo db中进行嵌套数组搜索

Mongodb 使用正则表达式在Mongo db中进行嵌套数组搜索,mongodb,mongodb-query,mongo-java,mongo-java-driver,Mongodb,Mongodb Query,Mongo Java,Mongo Java Driver,在嵌套数组中搜索的查询是什么: "_id" : "123", "Array1" : [ { "field1" : { "nestedArray1" : [ { "content" : "This string inside %nestedArray%", } ] }, } ], 我已尝试使用

在嵌套数组中搜索的查询是什么:

"_id" : "123",
"Array1" : [
    {
        "field1" : {
            "nestedArray1" : [
                {
                    "content" : "This string inside %nestedArray%",
                }
            ]

        },


    }
],
我已尝试使用以下正则表达式 Array1.field1.nestedArray1.content

Document doc = new Document();
doc.append("Array1.field1.nestedArray1.content", new Document("$regex", ".*" + "%nestedArray%" + ".*"));

但是我无法得到正确的结果..上面的查询格式正确吗

那么什么不是“正确的结果”?你收到了什么?你期望得到什么?我的意思是我有一条记录,它不是通过上面的查询获取的..对我有用。我建议在实际代码中输入错误或意外输入。我猜您实际上是在试图“构建”查询中的正则表达式字符串。但这不是您的问题所显示的内容。@NeilLunn..谢谢..实际上我正在使用mongo db java驱动程序..所以我在queryUnderstand中构建正则表达式字符串,然后您的“问题”不包含“变量”,而只包含一个常规的“字符串”。当然,这与预期相符,并且工作正常。因此,“不清楚你在问什么”、“无法重现你的错误”以及其他各种原因,除非你能提供一个我们可以重现的案例,否则没有人能帮助你。这是我们目前无法做到的。这取决于你提供的情况,目前你还没有。再次,我建议您仔细查看实际的输入和表达式构建,因为真正的逻辑(这里没有)将是错误的。