使用 Mongoose $push 进入 Array Schema 类型
Using Mongoose $push into Array Schema type
我有以下用户和帖子模式,其中用户具有以下数据类型:
postCreated:{
type: Array,
default: []
}
帖子的服务器路由是:
server.post('/posts',(req,res,next) => {
const {username,title,categories,content} = req.body;
const post = new Posts({
username,
title,
categories,
content
});
post.save().then((doc) => {
console.log(doc);
res.send(doc);
User.findOneAndUpdate({username}, {$push: {'postCreated': doc}});
})
.catch((e) => {
return next(new errors.BadRequestError(e.message));
});
});
将新创建的 post 保存到数据库中并更新用户架构中的 'postCreated' 属性。但是,我当前的代码不起作用,有什么办法可以将新创建的 post 推入 'Post Created' 数组?
感谢您的帮助。
看看这是否适合你:
server.post('/posts',(req,res,next) => {
const {username,title,categories,content} = req.body;
const post = new Posts({
username,
title,
categories,
content
});
return post.save()
.then(doc => User.findOneAndUpdate({username}, {$push: {'postCreated': doc}})
.then(() => res.send(doc)))
.catch(e => {
return next(new errors.BadRequestError(e.message));
});
});
您缺少 post.save
和 User.findOneAndUpdate
的 returns。另外,您的 res.send(doc)
可能应该是您函数中的最后一件事。
我有以下用户和帖子模式,其中用户具有以下数据类型:
postCreated:{
type: Array,
default: []
}
帖子的服务器路由是:
server.post('/posts',(req,res,next) => {
const {username,title,categories,content} = req.body;
const post = new Posts({
username,
title,
categories,
content
});
post.save().then((doc) => {
console.log(doc);
res.send(doc);
User.findOneAndUpdate({username}, {$push: {'postCreated': doc}});
})
.catch((e) => {
return next(new errors.BadRequestError(e.message));
});
});
将新创建的 post 保存到数据库中并更新用户架构中的 'postCreated' 属性。但是,我当前的代码不起作用,有什么办法可以将新创建的 post 推入 'Post Created' 数组?
感谢您的帮助。
看看这是否适合你:
server.post('/posts',(req,res,next) => {
const {username,title,categories,content} = req.body;
const post = new Posts({
username,
title,
categories,
content
});
return post.save()
.then(doc => User.findOneAndUpdate({username}, {$push: {'postCreated': doc}})
.then(() => res.send(doc)))
.catch(e => {
return next(new errors.BadRequestError(e.message));
});
});
您缺少 post.save
和 User.findOneAndUpdate
的 returns。另外,您的 res.send(doc)
可能应该是您函数中的最后一件事。