我有一个Issue实体,其中包含一个名为AssignedTo的Guid列表。对于一个ID,我需要在AssignedTo list / array
中检索具有该ID的所有问题到目前为止,我已经通过以下方式做到了这一点:
var filter = Builders<Issue>.Filter.Eq("AssignedTo", id.ToString());
return await Collection.Find(filter).ToListAsync();
但我不想在查询中硬核AssignedTo。 p =&gt; p.AssignedTo不起作用,我也试过了。
另外,如何告诉BsonClassMap将该列表注册为字符串列表而不是GUIDS?我知道这件事:
x.GetMemberMap(p => p.AssignedBy).SetSerializer(new GuidSerializer(BsonType.String));
但我如何在名单上这样做?
我正在为C#使用最新的MongoDB驱动程序。 (2.0)
答案 0 :(得分:2)
您正在寻找AnyEq方法。请参阅此处的文档:http://mongodb.github.io/mongo-csharp-driver/2.0/reference/driver/definitions/#array-operators
var filter = Builders<Issue>.Filter.AnyEq(x => x.AssignedTo, id.ToString());