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

Skema referensi diri luwak tidak membuat ObjectId untuk semua sub dokumen

Anda harus membuat objek baru saat mendeklarasikan CollectPoint yang disematkan barang :

var data = new CollectPoint({
    name: "Level 1",
    collectPoints: [
        new CollectPoint({
            name: "Level 1.1",
            collectPoints: []
        })
    ]
});

Dengan cara ini _id dan collectPoints akan dibuat oleh instance CollectPoint jika tidak, Anda hanya membuat objek JSONO biasa.

Untuk menghindari masalah seperti itu, buat validator untuk array Anda yang akan memicu kesalahan jika itemnya salah ketik :

var CollectPointSchema = new mongoose.Schema({
    name: { type: String },
    collectPoints: {
        type: [this],
        validate: {
            validator: function(v) {
                if (!Array.isArray(v)) return false
                for (var i = 0; i < v.length; i++) {
                    if (!(v[i] instanceof CollectPoint)) {
                        return false;
                    }
                }
                return true;
            },
            message: 'bad collect point format'
        }
    }
});

Dengan cara berikut ini akan memicu kesalahan:

var data = new CollectPoint({
    name: "Level 1",
    collectPoints: [{
        name: "Level 1.1",
        collectPoints: []
    }]
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring boot mencoba terhubung ke mongo saat menambahkan ketergantungan maven mongo-Java-driver

  2. cara menghitung hitungan dan hitungan unik pada dua bidang dalam fungsi pengurangan mongo

  3. Apa jalur database default untuk MongoDB?

  4. Mengapa konektor Spark Mongo tidak menekan filter?

  5. Meminta Data dari MongoDB menggunakan GraphQL di Django:Get-Go (1)