1
我有mongodb問題。我必須寫一些js代碼才能在我的收藏列表中找到anagrams。收集結構如下:MongoDB地圖縮小找到anagrams
{_id:值,進口:字謎}
下面的代碼acrually做的工作 - 它發現字謎但我有使用映射精簡的方式來做到這一點。 我曾多次嘗試將此代碼重寫爲地圖縮小但我沒有管理。我知道這個概念,我試過這樣做:
db.lista.mapReduce(
mapper,
reducer,
{
out : "result"
}
);
但沒有結果。代碼應該如何拆分?怎麼做?如何將輸出保存到數據庫? 任何幫助將不勝感激。
var input = db.lista.find().sort({ Import: 1});
var anagrams = {};
input.forEach(function(word) {
var alphabetical = word.Import.split("").sort().join("");
var oryginal = word.Import;
var sorted = alphabetical;
if (anagrams[sorted] != null) {
anagrams[sorted].push(word);
}
else {
anagrams[sorted] = [ word ];
}
});
for (var sorted in anagrams) {
var words = anagrams[sorted];
var sep = ",";
var out = "";
for (var n in words) {
out += sep + words[n];
sep = "";
}
print(sorted + ": " + out);
}
非常感謝。它工作正常。你的專業知識幫助了我很多。 – user2980480