Mongo:交叉引用其他对象中的值

时间:2014-04-15 06:04:19

标签: javascript mongodb mapreduce aggregation-framework

我有一个看起来像ff的集合:

{
"word":"approve",
"related" : [
    {
        "relationshipType" : "cross-reference",
        "words" : [
            "note"
        ]
    },
    {
        "relationshipType" : "synonym",
        "words" : [
            "demonstrate",
            "ratify",
        ]
    }
],
},
{
"word": "note",
"related" : [
    {
        "relationshipType" : "synonym",
        "words" : [
            "butt",
            "need",
        ],
    },
    {
        "relationshipType" : "hypernym",
        "words" : [
            "air",
            "tone",
        ]
    },
    {
        "relationshipType" : "cross-reference",
        "words" : [
            "sign",
            "letter",
            "distinction",
            "notice",
        ]
    },
],

}

我想对所有在另一个对象中有一个单词的对象进行分组/分类,不管是

  1. 名称(作为'批准'的交叉引用字段,有注释。搜索单词' note'。 或
  2. 这个词在另一个对象的相关词中。比如拥有“批准”的同义词。在'批准'然后寻找已经批准的其他物品。在任何相关词汇领域。
  3. 然后将这些保存到名为categories的新集合中。 结果应该是:

    {
     "category": 1,
     "words":["approve","note"],
    }
    

    ...以及单词数组中所有链接对象的单词字段值。

    任何方式如何做到这一点..我正在考虑检查链接的某种递归,但我不知道如何实现。另一个潜在的问题是回到父层,创建一个无限循环的排序。

    是否可以通过map reduce?

    编辑:清晰度。

0 个答案:

没有答案