在 RavenBD 中将 JSON 对象存储为属性的最佳实践?

问题描述 投票:2回答:1

我试图将一个JSON文档(基本上是.Net中的Newtonsoft JObject)存储为一个类属性。

public class Something
{
  public JObject ConfigurationData
  {
    get;set;
   }

    ...
}

基本上是任意的JSON配置数据,事先不知道,需要通过ravendb索引来搜索,还需要能够以编程的方式遍历它,对它使用JSONPath等。最好不用把它来回转换为其他东西。

我一直在阅读关于动态索引,BlittableJsonReaderObject等等等等,但我似乎找不到一个简单的例子与上面的,而且有些东西似乎在4.0之后发生了变化。

如果我理解正确的话,BlittableJsonReaderObject更多的是用来存储原始的json,然后以对象的形式读出来。我应该只把它存储为一个JObject吗?还是有什么更好的方法?

ravendb
1个回答
1
投票

为什么不储存 ConfigurationDatajson它作为一个 String 它将被RavenDb的FTS搜索,你也可以定义 文本分析器 在 RavenDB 的索引中的该字段上。

订阅 OnBeforeConversionToDocument 事件,并将JObject转换为字符串See。https:/ravendb.netdocsarticle-page4.2Csharpclient-apisessionhow-tosubscribe-to-events#onbeforeconversiontodocument。

© www.soinside.com 2019 - 2024. All rights reserved.