node.js - Bagaimana untuk mengemas kini kumpulan satu set data dalam mongo dan melakukan operasi sisipan apabila data dalam tatasusunan tidak wujud?
淡淡烟草味
淡淡烟草味 2017-05-24 11:35:41
0
2
1023

Sebagai contoh, saya mempunyai jadual tag dalam mongo, dan model data adalah seperti berikut

    {
        name: String,
        hot: {
            type: Number,
            default: 0
        },
        create_at: {
            type: Date,
            default: Date.now
        }
    }

Kini saya mempunyai pelbagai nama teg, seperti ['mongoDB', 'node.js', 'mysql'],
Saya ingin mengemas kini populariti dalam kelompok, dan jika didapati tiada teg sedemikian, masukkannya, laksanakan sesuatu seperti

mongo.tags.update({
    name:{
        $in:['mongoDB','node.js','mysql']
        }
},{
    $inc:{
        hot:1
    }
},{
    upsert: true,
    multi:true
})

Operasi sedemikian, tetapi sekarang apabila saya melaksanakan arahan ini, data kosong ditambah

Cara saya melaksanakannya sekarang ialah melakukan pertanyaan dahulu, dan mengemas kini yang boleh ditanya, dan memasukkan yang tidak boleh ditanya Operasi, tetapi operasi sedemikian memerlukan melintasi tatasusunan tag beberapa kali dari kod, dan prestasinya tidak baik.

淡淡烟草味
淡淡烟草味

membalas semua(2)
左手右手慢动作

1 Penyata operasi kemas kini anda OK

2. Apa yang anda katakan tentang menambah data kosong adalah kerana tiada dokumen yang memenuhi syarat ditemui, dan upsert telah ditetapkan kepada benar, jadi dokumen yang mengandungi feild hot telah dimasukkan.

Anda juga boleh menyemak status dokumen koleksi anda dan cuba lagi. Tiada masalah ditemui dalam operasi kemas kini anda.

Untuk rujukan.

Suka MongoDB! Selamat mencuba!


Persidangan Kumpulan Pengguna Komuniti Cina MongoDB Beijing 2017 akan datang tidak lama lagi! Imbas kod QR untuk mendaftar!

某草草

Sepatutnya boleh menggunakan upsert dalam mongodb
upsert({},{},true) true bermaksud tulis jika tiada, dan kemas kini jika ada
Anda boleh merujuk kepada forum sokongan rasmi:
http:// forum.foxera.com/ mongo...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan