猫鼬-添加到数组时增加对象计数器

时间:2018-10-25 22:22:11

标签: node.js mongodb 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

做到这一点的最佳方法是什么?

0 个答案:

没有答案
相关问题