我有很多复杂的查询,有时我希望直接对照Mongo进行判断,以达到调试\解释()的目的.

一个简单的例子:

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

推荐答案

如果您使用的是最新版本的驱动程序,即2.0.1,您可以轻松地将该过滤器放入Find操作中,返回IFindFluent并打印其ToString:

var filter = Builders<LalalaEvent>.Filter.Where(e => ids.Contains(e.Id) && e.Deleted != true);
var findFluent = collection.Find(filter);
Console.WriteLine(findFluent);

例如,对我来说,这张照片:

find({ "_id" : { "$in" : [1, 2, 3] }, "Deleted" : { "$ne" : true } })

Mongodb相关问答推荐

Mongodb如果数组中有外部键,则将排序应用到查找结果

如何在MongoDB中对两个数组进行分组?

使用MongoDB 4将根文档替换为数组

Mongo,通过 Lookup 计算多个文档中数组中的项目

Mongo按最大分组排序

MongoDB 聚合 - 条件 $lookup 取决于字段是否存在

仅当特定字段存在于 MongoDB 中时才更新它

在运算符 $map 中嵌入运算符 $exists

MongoDb 聚合未正确分组

从 mongodb Golang 检索时判断零等效时间.时间

MongoDB 存储大量指标/分析数据的方法

哪个库最适合用于带有 Scala 的 MongoDB?

mongo _id 字段重复键错误

Meteor mongo 驱动程序可以处理 $each 和 $position 运算符吗?

加载时将 mongo 存储的日期转换回自 Unix 纪元以来的毫秒数?

你如何让 mongo 在远程服务器上运行?

Flask and Mongo

如何从 node.js 以编程方式执行 mongodump 命令?

MongoDb:如何将附加对象插入对象集合?

我需要手动关闭mongoose连接吗?