如何使用 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 所述,“将您的函数包装在异步函数中,并在更新查询之前放置等待。”
我的架构如下:
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 所述,“将您的函数包装在异步函数中,并在更新查询之前放置等待。”