我目前有一个简单的MongoDB条件查询,如下所示:
{
"$and": [
{
"ApplicationStatus": "UW_SECOND_LEVEL"
},
{
"Application.UnderWriterDecisions.ud_cc_total_aggregate_limit": {
"$lte": 300000, "$gt":100000
}
},
{
"Application.UnderWriterDecisions.UW_Recon_Count": {
"$eq": null
}
}
]
}
我需要在上面的查询中添加另一个条件来检查我拥有的数组(DecisionReason
)的大小,并确保它只有1的大小:
Application.UnderwriterDecisions.DecisionReason
答案 0 :(得分:0)
您可以使用$size
运算符。此外,您不必使用显式$and
运算符,只需将子句与逗号分隔即可。来自文档中的this page。
MongoDB在指定逗号分隔的表达式列表时提供隐式AND操作。当必须在多个表达式中指定相同的字段或运算符时,必须使用带有$和运算符的显式AND。
此外,您不需要使用$eq
运算符,因此您的最终查询将如下所示:
db.collection.find({
"ApplicationStatus": "UW_SECOND_LEVEL",
"Application.UnderWriterDecisions.ud_cc_total_aggregate_limit":
{ "$lte": 300000, "$gt": 100000 },
"Application.UnderWriterDecisions.UW_Recon_Count": null,
"Application.UnderWriterDecisions.DecisionReason":
{ "$size": 1 }
});
有关$size
运算符的详细信息,请查看文档中的this page。