我正在为 C# 尝试几个 MongoDB 驱动程序。目前,NoRM 在名单上。
我有一个查询,需要查找一些 LocationId 在 Guids 集合中的所有文档。一些代码来澄清我想要做什么:
private IQueryable<T> QueryLocationId<T>(IEnumerable<Guid> shouldBeIn)
{
var result = provider.DB.GetCollection<T>().Find(new { LocationId = Q.In(shouldBeIn) });
return result.AsQueryable();
}
问题是,查询没有返回任何结果。当我通过代码进行调试时,我看到没有 In 查询的 Find() 确实返回了所有 Location 项。我也知道事实上很多项目都有 LocationIds 存在于shouldBeIn
集合中。
我认为问题在于我在这里使用 Guids 而 MongoDB 对它们不太了解。当我使用官方 MongoDB 驱动程序时,我必须将 Guid 转换为 BsonBinaryData
. 类似的事情可能需要再次发生,但我找不到关于此事的任何文档/帖子。
其他人对我如何/是否需要转换指南有所了解?
注意:我无法将 Guid 更改为其他类型。