gpt4 book ai didi

node.js - MongoDB 创建文档并成功创建另一个文档

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:54 25 4
gpt4 key购买 nike

我正在使用 Node.js 和 MongoDB 开发应用程序。我有一个特定的用例,其中我创建一个新用户,成功后通过获取用户的城市(如果不存在)将用户的 ObjectId 添加到另一个名为“城市”的集合中,或者创建一个新用户并将用户的 ObjectId 附加到城市文档的订阅者列表字段。架构如下所示:

CitiesSchema: 
var CitiesSchema = new Schema({
City:{
type: String
},
SubscribersList: [{type: Schema.ObjectId}]
});

User Schema:
var UsersSchema = new Schema({
emailId: {
type: String,
required: 'Mandatory field'
},
city: {
type: String
},
subscribedOn: {
type: Date,
default: Date.now
},
lastEmailSent: {
type: Date,
default: null
},
isActive: {
type: Boolean,
default: true
}
});

请告诉我如何以最简洁的方式解决这个问题,或者我需要遵循什么设计模式吗?

最佳答案

您可以使用then 表示法在创建用户之后继续处理。像这样

UserSchema.create({
emailId: 'email@exmaple.com',
city: 'Rome'
})
.then(user => {
// For example if you want to push to the city of the user

CityScema.update({
City: user.city
}, {
$push: {
SubscribersList: user._id
}
}).then(() => {
res.sendStatus(200);
}).catch(err => res.status(500).send(err));

}).catch(err => {
// Handle your errors here
console.error(err);
});

请务必检查 Mongoose docs on Models了解更多信息

关于node.js - MongoDB 创建文档并成功创建另一个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com