0
我想創建一個映射並進行查詢。我來自CouchDB,它允許使用視圖。 這與MongoDB可能的東西是一樣的,是增量式地圖/減少正確的事情?MongoDB:映射沒有減少?
示例:取一些文檔,並在處理結果並查詢結果後,按照每個待處理的日期排出一行。
文獻:
{
name: "Max",
todos: [
{
title: "Bring milk home.",
isImportant: true,
date: 1502557780
}
]
}
樣本映射函數:
function() {
for (var i = 0; i < this.todos.length; i++) {
if (this.todos[i].isImportant) {
emit(this.todos[i].date, {title: this.todos[i].title})
}
}
}
輸出:
{
key: 1502557780,
value: {title: "Bring milk home."}
}
查詢的輸出:
db.collection.find({key: { $lt: 1502557785 }}, ...
實際上,我想在映射函數中執行一些更復雜的處理,而不僅僅是檢查isImportant鍵的存在。所以更復雜的查詢的聚合管線似乎並不正確。
是的,這是indead的方式實現上面的例子在MongoDB中。實際上,我想在每個文檔上運行類似地圖的功能以進行更復雜的修改。 – Bernd
@Bernd如果你想要更復雜的修改;所以你可以在我的答案中使用'mapReduce'類似的例子;)。 –