首页 > 解决方案 > Mongoose - 添加到数组时增加对象计数器

问题描述

我试图找出最有效的方法,最好是在一个查询中。如果我有一个数组...

[
  {
    name: "Eric",
    priority: 1
  {
[

如果我使用 追加另一个对象$addToSet,如何增加计数器?例如,如果我添加John...

[
  {
    name: "Eric",
    priority: 1
  },
  {
    name: "John",
    priority: 2
  {
]

我在想这样的事情......

let room = await Room.findOneAndUpdate(
  { room_id: data.room_id },
  { 
    $addToSet: { 
      guest_list: { 
        name: data.name
      } 
    },
    "guest_list.$.priority": guest_list.length
  },
  { new: true }
);

我知道这不起作用,但如果我能得到数组的长度并在priority属性中使用它,那就太好了......

"guest_list.$.priority": guest_list.length

这样做的最佳方法是什么?

标签: node.jsmongodbmongoose

解决方案


推荐阅读