Açıklaması şöyle
Naturally, we’re going to want to reduce the documents into smaller objects — returning just the fields we want, or aliasing their names. In the SQL paradigm, this sounds like a SELECT , for Mongo it’s $project .The structure you pass to $project is a field mapping:<field>: <1 or true>_id: <0 or false><field>: <expression><field>: <0 or false>
Örnek
Şöyle yaparız. Burada sadece id ve bookName alanları gösterilir.
db.books.find({}, {"bookName": 1}).pretty()
Eğer id alanını da saklamak istersek şöyle yaparız. Burada sadece bookName alanı gösterilir.
db.books.find({}, {"_id": 0, "bookName": 1}).pretty()
Örnek
Şöyle yaparız. Burada her subject'in bir book dizisi var. Book dizisi dolaşılıyor ve project ediliyor. Daha sonra projection sort ediliyor.
db.Subject.aggregate([{$project:{"subject.subCode":1,"subject.book.bookTitle":1,"subject.book.publisher":1}},{$unwind:"$subject.book"},{$sort:{"subject.subCode":1,"subject.book.publisher":-1}}]).pretty()
Hiç yorum yok:
Yorum Gönder