MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kueri MongoDB :$dekat dengan agregasi

Anda harus menggunakan $geoNear , dan hanya jika Anda menggunakan V2.4 dan seterusnya

db.users.aggregate(   
    {$geoNear : {
        near: [-1, -2],
        distanceField: "distance",
        query : {"_id" : "id1"},
        uniqueDocs: true,
        maxDistance : 2000
}})

Edit :setelah mengedit pertanyaan

Kueri di bawah ini akan memberi Anda lokasi dan jarak, tetapi tidak mengambil internal (elemen array) _id

db.users.aggregate(   
  {$geoNear : {
    near: [-1, -2],
    distanceField: "distance",
    includeLocs: "location",
    query : {"_id" : "id1"},
    maxDistance : 2000
  }},
  {$project : {"location" : 1, "_id" : 0, "distance" : 1}} 
)

Perhatikan penambahan includeLocs dan penghapusan uniqueDocs: true

Untuk juga mengambil _id internal, Anda harus (mengikuti contoh ini) melepas dan memproyeksikan secara kondisional atau lebih, tetapi saya rasa itu tidak sepadan, kecuali Anda memerlukan alamat alih-alih _id




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Metode khusus untuk kueri pembaruan dengan data pegas MongoRepository

  2. Tidak dapat menggunakan BsonIgnoreIfDefault untuk properti bertipe long

  3. Tidak dapat menulis buffer ke MongoDB GridFS

  4. Mongodb Query:Catatan terbaru berdasarkan tanggal untuk setiap item

  5. Bagaimana cara menggunakan $hint dalam kueri agregasi MongoDB?