cari

Rumah  >  Soal Jawab  >  teks badan

MongoDB 查询如何返回数组型数据?

例如这样的数据:

{
  "name": "Bob"
  "friends": [
    {
      "name": "Lucy",
      "age": 18
    },
    {
      "name": "David",
      "age": 17
    }
  ]
}

我希望返回这样一个 list: ["Lucy", "David"]

其实说白了,我需要用这个返回的结果进行二次查询,比如查询 Lucy 和 David 的信息。

PHPzPHPz2767 hari yang lalu776

membalas semua(2)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-04-22 09:02:42

    Hadkan medan,db.DATA.find({ }, { "name" : 1 })

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:02:42

    mongo menyokong sintaks js, jadi anda boleh menggunakan keupayaan js untuk memangkas data

    > db.b.insert({
                  "name": "Bob",
                  "friends": [
                    {
                      "name": "Lucy",
                      "age": 18
                    },
                    {
                      "name": "David",
                      "age": 17
                    }
                  ]
                })
                
    WriteResult({ "nInserted" : 1 })
    > db.b.findOne({name:"Bob"}).friends.map( x => x.name )
    [ "Lucy", "David" ]

    balas
    0
  • Batalbalas