将数据推送到mongodb使用另一个字段的值

发布于 2025-01-15 18:06:39 字数 350 浏览 1 评论 0原文

我使用猫鼬将数据推送到这样的字段(使用rank_num字段中的值):

ListM.findOneAndUpdate({userId: req.body.userId}, 
        [{
            $push: {
                listData: {
                    ...req.body.musicToAdd,
                    pos: "$rank_num"
                }
            }
        }])

并且不起作用...,我不知道如何在 $push 中添加另一个字段的值。帮我!谢谢

I use mongoose for push data(use a value from rank_num field) to a field like this:

ListM.findOneAndUpdate({userId: req.body.userId}, 
        [{
            $push: {
                listData: {
                    ...req.body.musicToAdd,
                    pos: "$rank_num"
                }
            }
        }])

And not work..., i dont know how to add value of another field in $push. Help me! thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深已缘浅 2025-01-22 18:06:39

如果您想向数组字段添加一个值,请尝试此操作。 (rank_num 是字段名称,req.body.musicToAdd 是要推送的值。)

ListM.findOneAndUpdate(
  { userId: req.body.userId },
  { $push: { "rank_num": req.body.musicToAdd} },
  { safe: true, new: true }
).then((res) => {
   console.log("updated result is", res);
}).catch((error) => {
   console.log("error is", error);
});

如果要将数组推送到数组字段,请尝试此操作。 (listData 是字段名称,req.body.musicToAdd 是要推送的数组。

ListM.findById(req.body.userId).then((res) => {
   if (!res) return;
   res.listData.push(...req.body.musicToAdd);
   res.save();
   return true;
})
catch((error) => {
   console.log("error is", error);
});

If you want to add one value into your array field, try this. (rank_num is field name and req.body.musicToAdd is a value to be pushed.)

ListM.findOneAndUpdate(
  { userId: req.body.userId },
  { $push: { "rank_num": req.body.musicToAdd} },
  { safe: true, new: true }
).then((res) => {
   console.log("updated result is", res);
}).catch((error) => {
   console.log("error is", error);
});

If you want to push array to array field, try this. (listData is field name and req.body.musicToAdd is array to pushed.

ListM.findById(req.body.userId).then((res) => {
   if (!res) return;
   res.listData.push(...req.body.musicToAdd);
   res.save();
   return true;
})
catch((error) => {
   console.log("error is", error);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文