Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 仅加载Ravendb文档数组项的一部分_.net_Ravendb - Fatal编程技术网

.net 仅加载Ravendb文档数组项的一部分

.net 仅加载Ravendb文档数组项的一部分,.net,ravendb,.net,Ravendb,让我们想象一下带有如下本地化的文档: { "Id":"product/1", "CategoryId":"categories/1", "Translations":[ { "Lang": "en", "Title:"en title"}, { "Lang": "hr", "Title:"hr title"} ] } 如果我查询索引CategoryId:“categories/1”和Lang:“en”,我想从

让我们想象一下带有如下本地化的文档:

{  
    "Id":"product/1",  
    "CategoryId":"categories/1",  
    "Translations":[  
        { "Lang": "en", "Title:"en title"},  
        { "Lang": "hr", "Title:"hr title"}
    ]
} 
如果我查询索引CategoryId:“categories/1”和Lang:“en”,我想从Raven投影/展平/过滤的结果中得到如下结果:

{  
    "Id":"product/1",
    "CategoryId":"categories/1",  
    "Lang":"en",  
    "Title":"en title"
}
所以基本上,文档包含数组中的本地化字符串,我只想得到一种语言。在客户机上进行过滤不是问题,但如何在raven服务器上使用Transformer进行过滤呢


或者,您可以推荐一些其他文档结构来存储本地化内容吗?目前,我有单独的文档Product和ProductTranslation(针对每种语言),但我希望所有文档都放在一个文档下(看起来更像OO:/)

如果产品之间的唯一区别是翻译,我会使用不同的模型。产品文档将包含categoryId、price和所有其他产品信息


假设产品保存在
products/1
下,那么您可以将其他文档保存在id下,如
products/1/en
products/1/es
等,并将翻译后的字符串存储在那里。然后,您可以使用ResultTransformer将翻译后的字符串注入查询的最终结果。

如果产品之间的唯一区别是翻译,我将使用不同的模型。产品文档将包含categoryId、price和所有其他产品信息


假设产品保存在
products/1
下,那么您可以将其他文档保存在id下,如
products/1/en
products/1/es
等,并将翻译后的字符串存储在那里。然后,您可以使用ResultTransformer将翻译后的字符串注入查询的最终结果。

hmm,听起来很有趣!c#model会是什么样子?我试图将产品作为聚合根,将翻译作为其中的值对象。这是可以实现的吗?嗯,听起来很有趣!c#model会是什么样子?我试图将产品作为聚合根,将翻译作为其中的值对象。这是可以实现的吗?