Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongo:更新文档(如果存在),或者插入自定义文档_Javascript_Node.js_Mongodb_Upsert - Fatal编程技术网

Javascript Mongo:更新文档(如果存在),或者插入自定义文档

Javascript Mongo:更新文档(如果存在),或者插入自定义文档,javascript,node.js,mongodb,upsert,Javascript,Node.js,Mongodb,Upsert,我收集了以下文件: groupId: '1234', info: [ { name: 'ABC', count: 10 }, { category: 'XYZ', count: 15 } ] 现在,流程应该如下所示。如果存在groupId(如“9876”),则更新“xname”(如ABC)的计数,否则插入以下默认文档: g

我收集了以下文件:

groupId: '1234',
info: [
        {
            name: 'ABC',
            count: 10
        },
        {
            category: 'XYZ',
            count: 15
        } ]       
现在,流程应该如下所示。如果存在groupId(如“9876”),则更新“xname”(如ABC)的计数,否则插入以下默认文档:

groupId: '9876',
info: [
        {
            name: 'ABC',
            count: 1
        },
        {
            category: 'XYZ',
            count: 0
        } ]  
如何在单个查询中实现这一点?我尝试了以下方法,但没有成功:

dbase.collection("summary").updateOne(
                {
                    groupId: "9876",
                    "info.name": 'ABC'
                },
                { 
                    $inc: { "info.$.count": 1 } ,

                    $setOnInsert : {defaultObj}
                
                },
                {upsert:true}
            )