【发布时间】:2014-09-25 02:20:10
【问题描述】:
我有一个文档集合,每个文档都有一个嵌套文档,在此示例中名为“属性”:
document1: {
description: 'text text etc',
attributes: {
Name: 'Alice',
Height: '170',
FavouriteColour: 'Blue'
}
}
document2: {
description: 'more text etc',
attributes: {
Name: 'Bob',
State: 'NY'
}
}
我不知道键的名称是什么,因为它们是用户定义的。
我想对该文档中所有属性的值执行文本搜索,而不必指定键,但为了执行文本搜索,我需要一个用于 $text 查询的文本索引,所以这不是可能:
db.collection.aggregate([
{$match: {$text: {$search: 'NY'}}},
{$group: {_id: {$meta: "textScore"}, count: {$sum: 1}}}
])
由于我不知道我可能拥有哪些属性,有没有办法解决这个问题并对属性值执行文本搜索并返回与输入匹配的文档?
【问题讨论】:
标签: mongodb mongodb-query