1

私のコレクションには次のドキュメントがあります

{
_id: ObjectId("5166fefbc482c31052000002"),
contact: [
    {
        home: 7735734105
    },
    {
        office: 9583866301
    }
],
user_name: "moti",
reportsTo: "bikram",
technology: [
    {
        name: ".net",
        rating: 5
    },
    {
        name: "JavaScript",
        rating: 2
    }
],
project: [
    "Agile School",
    "Draftmate"
],
type: "developer",
email: "motiranjan.pradhan@ajatus.co.in"

} と

{
_id: ObjectId("5166fe90c482c31052000001"),
contact: [
    {
        home: 7735734103
    },
    {
        office: 9583866901
    }
],
user_name: "ganesh",
reportsTo: "bikram",
technology: [
    {
        name: "JavaScript",
        rating: 3
    },
    {
        name: ".net",
        rating: 4
    }
],
project: [
    "SLBC",
    "Draftmate"
],
type: "developer",
email: "ganesh.patra@ajatus.co.in"

}

ここで、JavaScript しか知らない人の評価を調べる必要があります。

db.users.find( { technology: { $elemMatch: { name: 'JavaScript' } } },{user_name:1,'technology.name':1,_id:0} ).pretty()

すべてのテクノロジー (.net と JavaScript) の名前とそれに対応する評価を取得しています。ユーザー名と、JavaScript でのそれぞれの評価のみが必要です。集計手法を使用する必要がありますか?

4

1 に答える 1