如何返回数组内部的更新对象?

时间:2020-06-13 20:47:38

标签: mongodb

我目前具有以下数据结构:

db.mydatabase:

    {
        "_id" : ObjectId("5ee50f412312e02d446aee2"),
        "descripcion" : "filtros de aceite",
        "array_repuesto" : [ 
            {                    --> I need this object!
                "referencia" : "referencia3",  
                "marca" : "adidas2",
                "precio" : 900012
            }, 
            {
                "referencia" : "referencia2",
                "marca" : "nike",
                "precio" : 8000
            }
        ],
        "__v" : 0
    },
    {
        "_id" : ObjectId("5ee50f40a2323d446aee2"),
        "descripcion" : "filtros de agua",
        "array_repuesto" : [ 
            {
                "referencia" : "referencia5",
                "marca" : "adidas2",
                "precio" : 900012
            }, 
            {
                "referencia" : "referencia7",
                "marca" : "nike",
                "precio" : 8000
            }
        ],
        "__v" : 0
    },

    {
        "_id" : ObjectId("5ee50f40a752be023232"),
        "descripcion" : "filtros de arroz",
        "array_repuesto" : [ 

        ],
        "__v" : 0
    }

我正在过滤referencia = 'referencia3'所在的对象,但是我不知道如何使其仅返回更新后的对象

db.mydatabase.findOneAndUpdate(
    {
    _id: body._id, 
    "array_repuesto.referencia": "referencia3",
    },
    {
    $set: 
    { 
        'array_repuesto.$.marca': 'SOS',
        'array_repuesto.$.precio': '0',
       },
    },

    (err, repuestoDb) => {
     .
     .
     .

所需的输出:

            {
                "referencia" : "referencia3",
                "marca" : "adidas2",
                "precio" : 900012
            }, 

我该怎么做? (顺便说一句,有没有办法在更新之前将对象找回来?)

0 个答案:

没有答案