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

luwak menemukan dokumen dengan properti referensi

Di couple . Anda model, person1 adalah ObjectID (saya tahu Anda mengetahuinya), jadi jelas tidak ada properti .firstname .

Sebenarnya cara terbaik untuk mencapai ini, adalah menemukan pengguna dengan nama depannya, dan kemudian menanyakan pasangannya, dengan id pengguna.

Metode ini bisa/harus berdiri di couple model sebagai metode statis (contoh kode yang disederhanakan):

couple.statics.findByPersonFirstname = function (firstname, callback) {
  var query = this.findOne()
 
  Person.findOne({firstname: firstname}, function (error, person) {
    query.where($or: [
      {person1: person._id},
      {person1: person._id}
    ]).exec(callback);
  })

  return query
}

Cukup sukai contoh ini .

EDIT:Perhatikan juga bahwa ref harus _id (jadi Anda tidak bisa menyimpan dengan nama depan, itu akan menjadi ide yang buruk).

Mempertimbangkan pengeditan Anda:

Person._id mungkin sebuah String dan referensinya adalah ObjectId , jika demikian, coba:

{person1: mongoose.Types.ObjectId(Person._id)}

Juga, variabel Anda adalah person dan bukan Person . Coba login person untuk melihat apakah Anda mendapatkan sesuatu.

Akhirnya, contoh kode saya sangat sederhana, jangan lupa untuk menangani kesalahan dan semuanya (lihat tautan yang saya berikan kepada Anda di atas, yang sudah lengkap).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memperbarui jalur 'x' akan membuat konflik di 'x'

  2. Indeks Teks MongoDB di semua Bidang menggunakan Java

  3. Memantau Instans MongoDB Menggunakan MongoDB Monitoring Service (MMS)

  4. Apa perbedaan antara Limit dan BatchSize di MongoCursor?

  5. Bagaimana cara menerapkan kueri filter pencarian menggunakan mongodb?