小编Abd*_*eed的帖子

嵌入式文档中的完整文本搜索

这是我的文档模式

"translation" : {
        "en" : {
            "name" : "brown fox",
            "description" : "the quick brown fox jumps over a lazy dog"
        },
        "it" : {
            "name" : "brown fox ",
            "description" : " the quick brown fox jumps over a lazy dog"
        },
        "fr" : {
            "name" : "renard brun ",
            "description" : " le renard brun rapide saute par-dessus un chien paresseux"
        },
        "de" : {
            "name" : "brown fox ",
            "description" : " the quick brown fox …
Run Code Online (Sandbox Code Playgroud)

full-text-search mongodb meteor

9
推荐指数
1
解决办法
1433
查看次数

对象数组中的 Mongo DB 不同值组

假设我有一个像下面这样的文档模型

{
"_id" : "QggaecdDWkZzMmmM8",
"features" : [ 
    {
        "language" : "en",
        "values" : [ 
            {
                "name" : "feature 1",
                "values" : [ 
                    "test", 
                    "best"
                ]
            }, 
            {
                "name" : "feature2",
                "values" : [ 
                    "guest", 
                    "nest"
                ]
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我需要运行查询并返回特征的唯一名称和值对。就像一个文档的名称特征 1 带有“test”和最佳值,另一个文档具有相同的键(特征 1 具有不同的值,即“guest”),因此结果将是

name: featuer 1 
values: [test, best and guest]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试了以下查询,但最后返回错误

db.getCollection('products').aggregate(
{$unwind: '$features'},
{$group: 
{_id: "$features.values.name"},
name: {$addToSet: '$name'}
})
Run Code Online (Sandbox Code Playgroud)

错误信息是

例外:管道阶段规范对象必须只包含一个字段

mongodb mongodb-query aggregation-framework mongodb-aggregation

5
推荐指数
1
解决办法
2422
查看次数