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