如何使用 Mongoose 和 Node.js 在 Atlas 上更新数组?

How does one update arrays on Atlas using Mongoose and Node.js?

我的架构如下:

const mongoose = require('mongoose');

const usersSchema = mongoose.Schema(
  {
    fplEmail: String,
    role: { type: String, enum: ['ADMIN', 'USER'] },
    firstName: String,
    lastName: String,
    team: [Number],
    userFollowing: [String],
    userFollowers: [String],
  },
  { collection: 'users' }
);

module.exports = usersSchema;

我的模型是这样的:

const mongoose = require("mongoose")

const usersSchema = require("./users-schema")
const usersModel = mongoose.model("UserModel", usersSchema)

module.exports = usersModel

我的 collection 中的文档如下所示:

{
    "team": [],
    "userFollowing": [],
    "userFollowers": [],
    "fplEmail": "hluzinho@gmail.com",
    "firstName": "Ndabe",
    "lastName": "Mahluza",
    "__v": 0
}

我的查询如下所示:

const saveUserTeam = (userEmail, userTeam) => {
  console.log('user email:', userEmail);
  console.log('user team:', userTeam);
  usersModel.updateOne(
    { fplEmail: userEmail },
    { $set: { team: userTeam } }
  );
};

这些是我在 saveUserTeam 函数中打印的参数。

当我通过 mongo shell 查询时,查询工作正常。 mongoose 查找和创建功能工作正常。所以我很难过。任何帮助将不胜感激。

turivishal 所述,“将您的函数包装在异步函数中,并在更新查询之前放置等待。”