如何推到 Mongoose 对象?

8cdiaqws  于 2023-03-12  发布在  Go
关注(0)|答案(1)|浏览(117)

无法将其他对象添加到对象列表中。
我有一个如下的模式

apps: {
    type: Array,
    required: true,
    default: [],
  },
  username: {
    type: String,
    required: true,
  },
  password: {
    type: String,
    required: true,
  },
  email: {
    type: String,
    required: true,
  },
  registeredDate: {
    type: Date,
    required: true,
    default: Date.now,
  }

我可以通过执行类似的操作添加到apps对象

user = await User.findOne({ username: req.body.username });
user.apps[req.body.id] = {
   isUser: false,
   order: null,
};

await user.save()

这是第一个对象的工作。
但如果我想在应用程序中添加另一个对象示例,我尝试在NodeJS上运行相同的代码,我可以在console.log()中看到它,但当我登录到我的数据库时,我只能看到添加的第一个对象。
谢谢

qvk1mo1f

qvk1mo1f1#

add another object instance inside apps
您需要使用查询update|| updateOne添加带有运算符$push的新对象

await user.updateOne(
  { username: req.body.username },
  {
    $push: { apps: {
        key1Example: 'valueExample1',
        key2Example: 'valueExample2',
    } },
  }
);

MONGO-PLAYGROUND中尝试

相关问题