MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose:Làm cách nào để cập nhật một phần tử hiện có trong mảng?

Chà, nếu bạn không cần trả lại tài liệu đã cập nhật, Vui lòng thử cái này - điều này sẽ chỉ trả về kết quả ghi, với điều này có thể đạt được trong một lần gọi DB:

const creatStock = async (symbol, webApiData) => {
    try {
        // reversed array
        const webApiDataReversed = webApiData.reverse();
        const query = { symbol };

        await Stock.bulkWrite([
            {
                updateOne:
                {
                    "filter": query,
                    "update": { $pop: { data: 1 } }
                }
            }, {
                updateOne:
                {
                    "filter": query,
                    "update": {
                        $addToSet: {
                            data: webApiDataReversed
                        }
                    }
                }
            }
        ])
    } catch (ex) {
        console.log(`creatStock error: ${ex}`.red);
    }
};

Tham khảo: mongoDB massWrite



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận _id của một tài liệu được chèn trong MongoDB?

  2. Tránh các mục trùng lặp trên mảng Mongoose

  3. Đồ thị DBs so với DB tài liệu so với Triplestores

  4. Làm thế nào để xây dựng và truyền tài liệu bson - Go lang?

  5. MongoDb sắp xếp Bộ sưu tập theo số lượng trong Bộ sưu tập khác