【问题标题】:How to convert whole Bson document to a string in dotnet如何将整个 Bson 文档转换为 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 方法?

【问题讨论】:

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

标签: c# mongodb linq .net-core azure-cosmosdb


【解决方案1】:

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

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

【讨论】:

  • 但他不只是尝试检索 json 格式的文档,他还尝试在所有文档中进行搜索。
  • 是的@fbede 的理解是正确的。
  • 也许你正在寻找Builders
猜你喜欢
  • 2015-05-08
  • 2020-03-02
  • 2018-08-29
  • 2021-11-26
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 2019-03-13
相关资源
最近更新 更多