> For the complete documentation index, see [llms.txt](https://janeto.gitbook.io/mongodb-toan-tap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://janeto.gitbook.io/mongodb-toan-tap/map-reduce-trong-mongodb/lenh-mapreduce-trong-mongodb.md).

# Lệnh mapReduce trong MongoDB

Cú pháp cơ bản của lệnh mapReduce như sau:

```
>db.collection.mapReduce(
function() {emit(key,value);}, //map function

function(key,values) {return reduceFunction}, //reduce function

{
out: collection,

query: document,

sort: document,

limit: number
}
)
```

Đầu tiên, hàm (function) của Map Reduce truy vấn Collection, sau đó ánh xạ các Document kết quả để phát xạ (Emit) các cặp key-value mà sau đó bị rút gọn dựa trên các key mà có nhiều value.

Trong cú pháp trên:

* **map** là một hàm JavaScript mà ánh xạ một value với một key và phát xạ một cặp key-value.
* **reduce** là một hàm JavaScript mà rút gọn hoặc nhóm tất cả Document có cùng key.
* **out** xác định vị trí của kết quả truy vấn Map-Reduce.
* **query** xác định tiêu chuẩn chọn tùy ý để lựa chọn các Document.
* **sort** xác định tiêu chuẩn sắp xếp tùy ý.
* **limit** xác định số lượng Document tối đa tùy ý để được trả về.
