gpt4 book ai didi

c# - 将 FilterDefinition 转换为我可以在 mongo shell 中运行的常规 json mongo 查询

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:58 25 4
gpt4 key购买 nike

我有许多复杂的查询,有时我希望直接针对 Mongo 检查这些查询以进行调试\explaining() 目的。使用较新的 2.0+ c# 驱动程序,我不确定如何执行此操作。在以前的版本中,有一个叫做 IMongoQueryThis 的东西。成功了。

一个简单的例子:

FilterDefinition<LalalaEvent> filter = Builders<LalalaEvent>.Filter
.Where(e => ids.Contains(e.Id) && e.Deleted != true );

最佳答案

我今天试图解决同样的问题。这是我的发现。

public static class MongoExtensions
{
public static BsonDocument RenderToBsonDocument<T>(this FilterDefinition<T> filter)
{
var serializerRegistry = BsonSerializer.SerializerRegistry;
var documentSerializer = serializerRegistry.GetSerializer<T>();
return filter.Render(documentSerializer, serializerRegistry);
}
}

我在调用时没有访问到集合,所以我无法使用上述解决方案。

这允许你做

var json = filter.RenderToBsonDocument().ToJson();

关于c# - 将 FilterDefinition<TDocument> 转换为我可以在 mongo shell 中运行的常规 json mongo 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com