MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak opublikować dane MongoDB w zagnieżdżonej tablicy za pomocą NODE.js i Express

Możesz użyć Model.prototype.update w manguście, aby zaktualizować dokument podrzędny timings .

Istnieją jednak dwa scenariusze -

  1. Jeśli chcesz przesyłać wpisy bez konieczności sprawdzania duplikatów, użyj $push operator
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $push: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);
  1. Jeśli chcesz wypchnąć tylko odrębne wpisy, użyj $addToSet operator
    var filter = {
        _id: mongoose.Types.ObjectId('<USER_ID>')
    };
    
    var update = {
        $addToSet: {
            timings: {
                startTime: "",
                endTime: "",
                elapsedTime: ""
            }
        }
    };
    
    db.collection.update(filter, update);

Uwaga:Wymagaj mongoose najpierw

const mongoose = require('mongoose');

Popraw swój kod do poniższego, również nie możesz uzyskać dokładnego identyfikatora dokumentu podrzędnego, ale możesz uzyskać zaktualizowany dokument główny -

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. wykorzystanie module.exports w nietypowy sposób

  2. sortowanie MongoDB()

  3. MongoDB / Pymongo Query z Datetime

  4. Meteor zwraca wartość jako ciąg

  5. MongoDB przeciwieństwo $addToSet