我有一个收藏。在这个集合中,我只有一个这样的文档:
_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: [] } }
)