首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用deprecated...having () updateOne()

使用deprecated...having () updateOne()
EN

Stack Overflow用户
提问于 2020-03-01 16:42:17
回答 1查看 1.6K关注 0票数 0

我有以下代码:

代码语言:javascript
复制
apiTalon.forEach(talon => {    
        var apiTalonID = talon.ACTIVITY_ID
        var filter = {'ACTIVITY_ID': apiTalonID}
        var newData = talon

        dbo.collection(collectionName).update(
            filter, 
            newData,
            {upsert:true}, 

            function(err, res) {
                if (err) throw err;
                console.log(res)
                db.close();    
            }
        )    
    })

我得到以下错误:

DeprecationWarning:不推荐collection.update。使用updateOne、updateMany或bulkWrite代替

如果我将update()更改为updateOne(),则得到:

MongoError:更新操作文档必须包含原子操作符

我对Mongo不太熟悉,我确信这只是一个我看不到的语法或格式问题。谁能给我指明正确的方向?

EN

回答 1

Stack Overflow用户

发布于 2020-03-01 17:50:38

把代码改到这里,它就能正常工作.$set是关键:

代码语言:javascript
复制
apiTalon.forEach(talon => {    
    var apiTalonID = talon.ACTIVITY_ID
    var filter = {'ACTIVITY_ID': apiTalonID}
    var newData = talon

    dbo.collection(collectionName).update(
        filter, 
        {$set:newData},
        {upsert:true}, 

        function(err, res) {
            if (err) throw err;
            console.log(res)
            db.close();    
        }
    )    
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60477322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档