MongoDB 2 - 没有硬编码名称的查询数组

MongoDB 2 - query array without hardcoding name

我有一个问题实体,其中包含一个名为 AssignedTo 的 Guid 列表。对于一个 ID,我需要在 AssignedTo list/array

中检索该 ID 的所有问题

到目前为止,我已经成功地做到了:

var filter = Builders<Issue>.Filter.Eq("AssignedTo", id.ToString());
return await Collection.Find(filter).ToListAsync();

但我不想在查询中硬核 AssignedTo。 p => p.AssignedTo 不行,我也试过了。

此外,我如何告诉 BsonClassMap 将该列表注册为字符串列表而不是 GUIDS?我知道这个:

x.GetMemberMap(p => p.AssignedBy).SetSerializer(new GuidSerializer(BsonType.String));

但是我如何在列表中做到这一点?

我正在使用最新的 MongoDB C# 驱动程序。 (2.0)

您正在寻找 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());