我正在建立一个社交网络,用户可以喜欢其他人的帖子。我将node.js用作后端,并将MongoDb用作数据库,而且我也使用Mongoose一起使用它们。
我有一个如下所示的模式:
name: String,
nick: String,
email: String,
password: String,
bio: String,
color: String,
followers: [String],
followings: [String],
posts: [{
author: {
name: String,
nick: String
},
content: String,
date: Date,
simpleDate: String,
color: String,
likes: [String]
}]
Mongo自动为每个posts元素添加一个“ _id”属性。 我想使用户单击“喜欢”按钮时发送带有单击的帖子的_id的get请求,然后查找具有_id等于发送的_id的帖子,并将用户的昵称推送到该帖子中的点赞数组。>
我可以找到这样的帖子
User.findOne({'posts._id': req.params.postId},{ 'posts.$.': 1, _id:0},(err,results)=>{
if(err){
}
console.log(results.posts[0]);
res.redirect('/');
});
但是我无法更新。
它非常深入,我是MongoDb的新手。我该如何解决我的问题?