gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:07:16 26 4
gpt4 key购买 nike

我有很多复杂的查询,有时我希望直接针对 Mongo 进行检查,以进行调试\解释()。使用较新的 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/32047692/

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