簡體   English   中英

如何更新具有嵌入文檔的 mongoose 數組中的許多元素

[英]How to Update many elements in mongoose array which has embedded documents

我有這個 mongoose model

resourceId: {
    type: String,
},

resourceName: {
    type: String,
},

dateAndValue: [
    {
        date: { type: Date },
        value: { type: Number },
    },
],

project: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'project',
},

我想將 dateAndValue 數組元素的所有值字段更新為給定資源 ID 的“0”,給定日期范圍內的給定項目!

await QuantumResourcesManpowerAdmin.updateMany(
    {
        project,
        resourceId,
        'dateAndValue.date': { $gte: startDate, $lte: endDate },
    },
    {
        $set: {
            'dateAndValue.$.value': 0,
        },
    },
    { upsert: true }
);
res.status(200).json({ success: true });

這是我使用的代碼。 它返回成功但不進行任何更新。 所有輸入都是正確的,只有 updateMany 查詢有問題,所有其他功能都有效!

等待 QuantumResourcesManpowerAdmin.updateMany( { project, resourceId, 'dateAndValue.date': { $gte: startDate, $lte: endDate }, }, { $set: { 'dateAndValue.$[].value': 0, }, } , { upsert: true } ); res.status(200).json({成功:真});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM