将MongoQuery转换为C#语句

时间:2013-11-11 11:58:01

标签: mongodb-.net-driver

我在子数组的数组中搜索一个值。 C#中的代码会是什么样的?

db.File.find({
Properties: {
    $elemMatch: {
        $elemMatch: {
            $in: 
                ['AWS-Uploaded']            
            }
        }
    }
});

文档的简化版本如下所示:

{
  "_id" : ObjectId("4f3b83acec76021c6827769e"),
  "Extension" : ".mov",
  "Length" : NumberLong(7910975),
      "Properties" : [
      ["MediaId", "20898180"], 
      ["AWS-Uploaded", "11/08/2013 16:15:50"]
  ]
}

1 个答案:

答案 0 :(得分:0)

对于返回存在数组元素的文档的查询对象,这应该执行作业

Query.ElemMatch("Properties", 
             Query.Exists('AWS-Uploaded',true)
               );

将ElemMatch与查询运算符一起使用,例如MediaId=20898180

Query.ElemMatch("Properties", 
             Query.EQ('MediaId',20898180)
               );

希望有所帮助