У меня есть документ с вложенным документом:
{
"_id" : ObjectId("XXXXX"),
"SearchKey" : "1234",
"SearchTerms" : {
"STA" : ["1"],
"STB" : ["asdfasdf"],
"STC" : ["another"]
}
}
Элементы SearchTerm не являются фиксированными - иногда у нас будет STA без STC, например.
Я могу сделать это:
var map = function() {
for (key in this.SearchTerms)
{
emit(key, 1);
}
}
но я не могу этого сделать:
var map = function() {
for (var i=0; i< this.SearchTerms.length; i++)
{
emit(this.SearchTerms[i], 1)
}
}
потому что последний не дает никаких результатов после снижения. Почему нет?
В качестве отступления - мне нужно подсчитать перекрестное произведение поисковых терминов по всем документам, то есть найти случаи (STA и STB) и (STA и STC) и (STB и STC) в случае выше. Если кто-то знает, как это сделать прямо сейчас, это работает еще лучше.
Как всегда, спасибо за помощь