小编koa*_*911的帖子

包含空值的BsonDocument的Newtonsoft.Json.JsonConvert.SerializeObject失败,并显示InvalidCastException

以下测试代码演示了当对象值为null或什至BsonNull.Value时,在SerializeObject中发生的InvalidCastException。如果该值更改为42,则序列化工作正常。

    var bson = new BsonDocument
    {
        { "key", null /*BsonNull.Value*/ }
    };
    // the following fails with an inexplicable InvalidCastException...
    var json = Newtonsoft.Json.JsonConvert.SerializeObject(
        bson,
        new JsonSerializerSettings
        {
            NullValueHandling = NullValueHandling.Include
        });
    Console.WriteLine(json);
Run Code Online (Sandbox Code Playgroud)

“使用MongoDB.Bson”和“使用Newtonsoft.Json”有效。Json版本是v12.0.1。

请注意,我也考虑过使用BsonDocument ToJson方法,但是它还存在其他问题(处理枚举值),因此我不再将其视为解决方法。

null json json.net mongodb

5
推荐指数
1
解决办法
111
查看次数

使用MongoDB Compass查看最后N个文档

我希望在MongoDB Compass中查看一个非常大的集合中的最后N个文档。太多无法滚动。

如果我知道Compass中的语法,则可以.skip(total-N)。

另外,我有一个日期字段,如果我知道如何以Compass可接受的方式表示日期,则可以在日期中使用$ gte 。

建议/示例如何执行此操作?

mongodb mongodb-compass

2
推荐指数
1
解决办法
5373
查看次数

标签 统计

mongodb ×2

json ×1

json.net ×1

mongodb-compass ×1

null ×1