删除数组中的值(MongoDB和mongoose)

问题描述 投票:1回答:1

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

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

});

当我运行我的代码时,它运行没有错误,但电子邮件数组没有清空。

任何的想法?

arrays node.js mongodb mongoose
1个回答
1
投票

使用$set运算符和空白数组[]以及mongoose查询返回承诺你需要使用await来执行它

await WaitingForReferral.update(
  { },
  { $set: { emails: [] } }
)
© www.soinside.com 2019 - 2024. All rights reserved.