如何将整个 Bson 文档转换为 dotnet 中的字符串

Posted

技术标签:

【中文标题】如何将整个 Bson 文档转换为 dotnet 中的字符串【英文标题】:How to convert whole Bson document to a string in dotnet 【发布时间】:2021-12-28 13:53:03 【问题描述】:

我正在使用带有 Mongo API (MongoClient) 的 cosmos DB。我需要检查包含超过 50 个属性的文档的任何字段中的值。

所以,我正在尝试将整个文档转换为字符串,然后使用下面的 contains 方法进行检查。

var d = _client.Find(f => f.ToString().Contains(str)).Limit(10).ToList();

'不支持的过滤器:document.ToString().Contains("MyStringHere").

如何将整个文档转换为字符串,然后在上面使用Contains 方法?

【问题讨论】:

***.com/questions/41356544/…这个问题看起来和你的问题很相似 当我点击链接Command find failed: $text not supported. 您的查询看起来如何?您是否创建了索引,正如链接上的那样? 尝试创建索引时也出现同样的错误@fbede 【参考方案1】:

使用MongoDB.Bson.BsonExtensionMethods.ToJson,可以将Bson Document转成JSON格式的字符串。

string json = MongoDB.Bson.BsonExtensionMethods.ToJson<BsonDocument>(document);

【讨论】:

但他不只是尝试检索 json 格式的文档,他还尝试在所有文档中进行搜索。 是的@fbede 的理解是正确的。 也许你正在寻找Builders

以上是关于如何将整个 Bson 文档转换为 dotnet 中的字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Haskell 中将数据类型转换为 BSON?

MongoError:在对嵌套文档中的记录进行分组时,无法从缺少的 BSON 类型转换为日期

MongoDB:BSON 到 JSON

如何使用人类可读的日期格式将BSON转换为JSON

如何将字符串转换为 MongoDB objectId

如何编译 dotnet/runtime 源代码 #yyds干货盘点#