删除数组中的值(MongoDB和猫鼬)

时间:2019-04-14 15:42:58

标签: arrays node.js mongodb mongoose

我有一个收藏。在这个集合中,我只有一个这样的文档:

_id:
emails: []

我想删除电子邮件数组中的值。

我在/models/askForReferral.js下的代码:

const mongoose = require('mongoose');

const WaitingForReferral = mongoose.model('WaitingForReferral', new mongoose.Schema({

    emails: []

}));

exports.WaitingForReferral = WaitingForReferral;

我的/routes/referralEmail.js下的代码:

const { WaitingForReferral } = require('../models/askForReferral');
const express = require('express');
const router = express.Router();

router.post('/', async (req, res) => {

    WaitingForReferral.update(
        { },
        { $unset: { emails: "" } }
     )

});

当我运行我的代码时,它运行没有错误,但是email数组没有被清空。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

$set运算符与空白数组[]一起使用,猫鼬查询返回的保证是您需要使用await来执行它

await WaitingForReferral.update(
  { },
  { $set: { emails: [] } }
)
相关问题