Bạn sẽ cần $unwind
, $group
và sử dụng $first
và $last
toán tử như thế này:
db.collection.aggregate([
{ "$unwind": "$favorites" },
{ "$group": {
"_id": "$_id",
"first": { "$first": "$favorites" },
"last": { "$last": "$favorites" }
}}
])
Hoặc hai truy vấn khác nhau nếu $unwind
đắt
var first = db.collection.find({}, {"favorites": { $slice: 1}})
var last = db.collection.find({}, {"favorites": { $slice: -1}})