arrays - 如何使用 mongoose 在 MongoDB 的数组中推送数据
问题描述
我在 MongoDB 中有一个空数组
我想把 ID 推进去。
router.put(
"/like/:id",
(req, res) => {
User.findOne({ _id: req.user._id }).then(data => {
if (data) {
Post.update(
{ _id: ObjectId(req.params.id) },
{ $push: { likes: req.user._id } }
);
}
});
}
);
此代码不适用于我如何实现这一目标。
解决方案
router.put (
"/addlike/:id",
passport.authenticate("jwt", {
session: false
}),
(req, res) => {
// use try-catch
try {
User.findOne({ _id: req.user._id }).then(data => {
if (data) {
Post.findOneAndUpdate(
{ _id: ObjectId(req.params.id) },
{ $push: { likes: req.user._id },
{ "new": true, "upsert": true} }
);
}
});
} catch(err){
// handle error
console.log('Error => ', err);
}
}
);
我已经在我的本地系统中对此进行了测试......工作正常
推荐阅读
- c++ - 如何检查文件是否仅包含整数?
- c++ - 是否可以拥有只能由 ADL 找到的非好友功能?
- r - 在 R 中使用随机生成的值创建一个 ID 列
- java - 如何为弹簧状态机动作添加动态参数?
- python - 对包含字符串和聚合函数的列值进行分组和过滤?
- entity-framework - 在实体框架中选择可选导航属性的属性的正确方法是什么?
- google-data-studio - 根据过滤的日期范围在记分卡上显示最高收入的月份
- php - 无法在 Laravel 中对数据进行分页
- html - 如何使表单选项弹出在单选按钮标签的左侧
- javascript - 此代码中是否缺少用于弹出具体化数据的函数?