我目前具有以下数据结构:
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
},
我该怎么做? (顺便说一句,有没有办法在更新之前将对象找回来?)