结合mongodb上的参考文件

时间:2018-06-01 12:20:53

标签: ruby-on-rails mongodb ruby-on-rails-4 mongoid

我的mongodb文档中有以下结构:

/* a text */
{
    "_id" : 1,
    ... /* fields not relevant here */
    ...
    ...
    "full_text" : "..." /* some text */
}

/* a bloc */
{
    "_id" : ...,
    "name" : "aaa",
    "description" : "bbb",
    "excerpts" : [ 
        {
            "_id" : ...,
            // some more fields irrelevant here
            "excerpt" : "some-part-of-text-1",
            "text_id" : 1
        },
        {
            "_id" : ...,
            "excerpt" : "some-part-of-text-x",
            "text_id" : x
        },... /* array of parts of any stored texts */
    ]
}

bloc文档包含一系列有关db。

的文本的摘录

我设法进行$ lookup查询并获得原始文本而没有麻烦,但这会将'original_text'作为相关文本的数组返回(每个bloc及其各自的字段和一个包含相关字段的新'original_text'数组文本)。

我的解决方案让我得到一个数组中的文本,但是这个数组可能比摘录一个(多个摘录的情况引用相同的文本)或不同的顺序(导致摘录[x]错误引用text [x],正如我预期的那样使用)。

我想要的是一种方法,让每个摘录与各自的原始文本并排,这样我就可以轻松浏览数据。

我可以在服务器端进行此操作,重新组织返回的数据,但在我看来,像db-side解决方案更合适,但我是MongoDB的新手,我很难解决这种情况。

(使用带有mongoid和mongo 3.6的轨道5,顺便说一句)

0 个答案:

没有答案