mongoose 如何在mongodb中更新一个条件中的两个字段?

368yc8dk  于 2022-11-13  发布在  Go
关注(0)|答案(1)|浏览(216)

我尝试做的是在条件为真时更新并推入两个不同的字段,而在条件为假时只更新一个字段。

const updateQuery = historicEnable == true ? ({ $push: { locationHistoric: locationObject } }, {currentLocation: locationObject}) : ({ currentLocation: locationObject })

  const theLocation = await User.findOneAndUpdate({ phone }, updateQuery, {
    new: true,
  });

到目前为止,当条件为true时,它只推入locationHistoric,而不更新currentLocation。
如何使这两种方法在相同的条件下工作?

pbwdgjma

pbwdgjma1#

试试看:

const updateQuery = historicEnable == true ?
  ({ $push: { "locationHistoric": locationObject, "currentLocation": locationObject }) :
  ({ $push: { "currentLocation": locationObject } })

第二条语句中也缺少运算符。请使用任何运算符,如$set或$push

相关问题