3
我的文檔的集合,每一個都帶有一個嵌套的文檔命名爲一「屬性」,在這個例子中:MongoDB的文本搜索與未知結構
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}}}
])
因爲我不知道是什麼屬性,我可能有,是有辦法解決這一點,並在屬性值進行文本搜索,並返回匹配輸入的文檔?
您建議的第一種方法適用於我的方案。如何對建議的動態屬性進行建模的替代方法也可以很好地工作,聽起來更加合理和可維護。謝謝! – 2014-09-24 19:30:05