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

_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: "" } }
     )

});


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

任何想法?

最佳答案

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

await WaitingForReferral.update(
  { },
  { $set: { emails: [] } }
)

08-19 01:02