0

我正在一个子数组的数组中搜索一个值。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"]
  ]
}
4

1 回答 1

0

对于返回存在数组元素的文档的查询对象,这应该可以完成工作

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

要将 ElemMatch 与查询运算符一起使用,例如 whereMediaId=20898180将是:

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

希望有帮助

于 2013-11-15T16:04:49.350 回答