Array.push 似乎不适用于 MongoDB

Jor*_*res 2 mongodb node.js express

我想在 MongoDB 中创建一个动态向量/数组。这个想法很简单:每当有人提交某些内容时,它都应该更新我的 MongoDB 数据库中的用户。我为此创建了一个变量。我已经测试过:正确找到了正确的用户。

请找到我的代码片段。

User.findOne({ name })
          .then(user => {                
            user.something.push(something to push);
          })
Run Code Online (Sandbox Code Playgroud)

我在创建时将默认值设置为空:

  something: {   
    type: [String],
    default: []
  }
Run Code Online (Sandbox Code Playgroud)

但是,它不会保存,也不会抛出任何错误。有人猜测幕后可能发生什么吗?我是 MongoDB 新手。

Kav*_*run 5

您可以将 findOneAndUpdate() 与 $push mongodb 运算符一起使用

User.findOneAndUpdate({name:name},{$push:{ something: 'new_data'}});
Run Code Online (Sandbox Code Playgroud)