0

我正在为 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 更改为其他类型。

4

0 回答 0