将项添加到Mongoose中的多维对象数组

将项添加到Mongoose中的多维对象数组,mongoose,Mongoose,我有这样的Mongoose用户模式,但我想将数组中的项推送到我的一个对象中 下面是一个模式示例 const userSchema = new Schema({ tokens:[{ token: { type: String, requird: true } }], tradings: { buy: { data: { type: Array } }, se

我有这样的Mongoose用户模式,但我想将数组中的项推送到我的一个对象中

下面是一个模式示例

const userSchema = new Schema({

  tokens:[{
    token: {
        type: String,
        requird: true
    }
  }],
  tradings: {
    buy: {
        data: {
            type: Array
        }
    },
    sell: {
        data: {
            type: Array
        }
    },
    total: {
        data: {
            type: Array
        }
    }
  }
})
我想插入一个对象
constobj={trade:234234,time:345345}
将数据插入到buy中,因此在插入后应如下所示:

"tradings": {
   "buy": {
      "data": [{ trade: 234234, time: 345345 }]
   },
   "sell": {
      "data": []
   },
   "total": {
      "data": []
   }
}
我正在使用一个函数来完成它,如下所示

Users.findOneAndUpdate(
    { _id : req.body.id },
    {
        tradings : {
            $push: {
                buy : req.body.obj
            }
        }
    },
    {
        new: true
    },
    function(error, doc){
        if(error){
            res.status(500).json({
                error: error
            })
        }else{
            res.status(201).json({
                message: req.body.data.id
            })
        }
    }
)

但是数组中没有插入任何内容

您的
交易
字段具有以下结构:

tradings: {
  buy: {
    data: {
        type: Array
    }
  },
  ...
}
并且您希望在
数据中推送项目,而不是
购买
。此外,还有以下形式:

{ $push: { <field1>: <value1>, ... } }
Users.findOneAndUpdate(
{ _id : req.body.id },
{
    $push: {"tradings.buy.data": req.body.obj}
},...