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

Bagaimana cara memproyeksikan nilai yang diperbarui hanya menggunakan findOneAndUpdate dalam array tersemat Mongoose?

Anda dapat menggunakan array.find() seperti ini:

const updatebookSource = (sourceId, userId, bookId) => {
  User.findOneAndUpdate({ _id: userId, "books._id": bookId }, up, filter).exec(
    (err, doc) => {
      if (err) throw err;
      let res = doc.books[0].ratings.find(rating => {
        return rating.source === sourceId;
      });

      console.log(JSON.stringify(res, null, 1));
    }
  );
};

Ini mengembalikan objek yang diperbarui. Beri tahu saya jika berhasil.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Peta Kurangi jenis kueri dengan kebutuhan untuk berkorelasi dengan baris sebelumnya

  2. Otentikasi dengan Spring Security + Spring data + MongoDB

  3. Paksa mongodb untuk mengeluarkan JSON yang ketat

  4. Cara menulis aplikasi python yang mendukung banyak database

  5. Bagaimana Anda bisa memuat data awal di MongoDB melalui Spring Boot?