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

Luwak:bagaimana cara mengatur bidang skema menjadi ID?

Karena Anda menggunakan Mongoose, salah satu opsi adalah menggunakan string email sebagai _id lalu tambahkan bidang virtual bernama email yang mengembalikan _id untuk membersihkan kode yang menggunakan email.

var userSchema = new Schema({
    _id: {type: String},
    passwordHash: {type: String},
    roles: {type: [String]}
});

userSchema.virtual('email').get(function() {
    return this._id;
});

var User = mongoose.model('User', userSchema);

User.findOne(function(err, doc) {
    console.log(doc.email);
});

Perhatikan bahwa bidang virtual tidak disertakan secara default saat mengonversi dokumen Mongoose ke objek JS biasa atau string JSON. Untuk memasukkannya, Anda harus mengatur virtuals: true opsi di toObject() atau toJSON() hubungi:

var obj = doc.toObject({ virtuals: true });
var json = doc.toJSON({ virtuals: true });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cara memasukkan nilai array tertentu di mongodb menggunakan angularjs

  2. Bagaimana cara melakukan banyak gabungan antara dua koleksi di mongodb menggunakan fungsi lambda?

  3. Izin ditolak ketika perintah 'mongod' dijalankan setelah instalasi berhasil

  4. Hitung nilai unik dalam Array model di MongoDB

  5. Adakah alasan terperinci dan spesifik untuk Mengapa MongoDB jauh lebih cepat daripada SQL DB?