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

Cara memposting data MongoDB ke array bersarang menggunakan NODE.js dan Express

Anda dapat menggunakan Model.prototype.update di luwak untuk memperbarui sub-dokumen timings .

Namun ada dua skenario -

  1. Jika Anda ingin memasukkan entri tanpa perlu memeriksa duplikat, gunakan $push operator
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $push: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);
  1. Jika Anda hanya ingin memasukkan entri yang berbeda, gunakan $addToSet operator
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $addToSet: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);

Catatan:Membutuhkan mongoose pertama

const mongoose = require('mongoose');

Perbaiki kode Anda di bawah ini, Anda juga tidak bisa mendapatkan ID sub-dokumen yang tepat, tetapi Anda bisa mendapatkan dokumen root yang diperbarui -

const updatedUser = await User.findOneAndUpdate({
        _id: mongoose.Types.ObjectId(req.body._id)
    },
    {
        $addToSet: {
            timings: {
                startTime, 
                endTime, 
                elapsedTime
            }
        }
    }, {
        new: true
    }).exec();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cara menjalankan kueri hanya baca pada replika sharded yang diatur di mongodb

  2. Parsing string tanggal ISO8601 hingga saat ini dengan Zona Waktu UTC

  3. Bagaimana cara menggunakan kondisi array NOT IN di dalam mongodb $lookup agregat

  4. Django + Mongo + Docker mendapatkan pymongo.errors.ServerSelectionTimeoutError

  5. Apakah penjelasan Wikipedia tentang pengurangan Map Reduce salah?