我正试图手动构造一个查询字符串,但在调用Find((在我的C#应用程序中,它不会返回任何结果。打电话时通过shell或MongoVue,它确实返回了预期的结果。
这是内部的限制。NET驱动程序?驾驶员是否转换在传递给Mongo之前以某种方式字符串?
这是查询字符串:
{
"Severity" : 2,
"Environment" : { "$elemMatch" : {
"Name" : "MachineName", "Value" : "XYZ" } },
"Environment" : { "$elemMatch" : {
"Name" : "ApplicationName", "Value" : "ABC" } }
}
您已将"Environment"
加倍。你可能不能把这些and
放在一起。但是,您可以$or
这些来获得预期的行为。