Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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 如果mongodb中的数组中存在数组,请删除该数组_Javascript_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

Javascript 如果mongodb中的数组中存在数组,请删除该数组

Javascript 如果mongodb中的数组中存在数组,请删除该数组,javascript,mongodb,mongodb-query,aggregation-framework,Javascript,Mongodb,Mongodb Query,Aggregation Framework,我需要一个查询来检查rcReveiws数组中是否存在dField数组键。如果它存在,则它必须删除dField数组,并且其他内容应该存在,只有dField数组应该被删除您可以使用下面的查询。它已经用您提供的数据进行了测试 { "_id" : ObjectId("5cca927ed5494b0"), "userName": "1234", "rcReviews": [{ "userName": "qwert", "finalReview": "qtrwyw",

我需要一个查询来检查rcReveiws数组中是否存在dField数组键。如果它存在,则它必须删除dField数组,并且其他内容应该存在,只有dField数组应该被删除

您可以使用下面的查询。它已经用您提供的数据进行了测试

{
"_id" : ObjectId("5cca927ed5494b0"),
"userName": "1234",
"rcReviews": [{
        "userName": "qwert",
        "finalReview": "qtrwyw",
        "dField": [{
                "name": "t2",
                "status": "Not Verified",
                "reviewComment": "asdfag"
            },
            {
                "status": "Not Verified",
                "reviewComment": "asegqrt",
                "name": "t13"
            },
            {
                "name": "c452",
                "status": "Not Verified",
                "reviewComment": "gaeqrtqa "
            },
            {
                "status": "Not Verified",
                "reviewComment": "tyqiqooqa",
                "name": "c13"
            }
        ]
    },
    {
        "userName": "1517",
        "finalReview": "wsywx",
        "dField": [{
                "status": "Not Verified",
                "reviewComment": "aswrrwgqrt",
                "name": "t113"
            },
            {
                "name": "c1516",
                "status": "Not Verified",
                "reviewComment": "gaeqredectqa "
            },
        ]
    }
]}
更改集合名称以匹配您的集合名称。
该查询检查
rcReviews
数组中是否包含
dField
属性的记录。它更新该数组中的所有对象,并使用unset删除
dField
属性。您可以使用下面的查询。它已经用您提供的数据进行了测试

{
"_id" : ObjectId("5cca927ed5494b0"),
"userName": "1234",
"rcReviews": [{
        "userName": "qwert",
        "finalReview": "qtrwyw",
        "dField": [{
                "name": "t2",
                "status": "Not Verified",
                "reviewComment": "asdfag"
            },
            {
                "status": "Not Verified",
                "reviewComment": "asegqrt",
                "name": "t13"
            },
            {
                "name": "c452",
                "status": "Not Verified",
                "reviewComment": "gaeqrtqa "
            },
            {
                "status": "Not Verified",
                "reviewComment": "tyqiqooqa",
                "name": "c13"
            }
        ]
    },
    {
        "userName": "1517",
        "finalReview": "wsywx",
        "dField": [{
                "status": "Not Verified",
                "reviewComment": "aswrrwgqrt",
                "name": "t113"
            },
            {
                "name": "c1516",
                "status": "Not Verified",
                "reviewComment": "gaeqredectqa "
            },
        ]
    }
]}
更改集合名称以匹配您的集合名称。
该查询检查
rcReviews
数组中是否包含
dField
属性的记录。它更新该数组中的所有对象,并使用unset删除
dField
属性!你试过什么?db.newcopy.updateMany({“rcReviews”:{“$elemMatch”:{“$elemMatch”:{“dField”:{“$exists”:true}}}}}}}},{“$unset”:{“rcReviews.$[].$[].dField”:“}}})我试过这样做。谢谢你的回复!你试过什么?db.newcopy.updateMany({“rcReviews”:{“$elemMatch”:{“$elemMatch”:{“dField”:{“$exists”:true}}}}}}}},{“$unset”:{“rcReviews.$[].$[].dField”:“}}})我试过这样做。谢谢你的回复,谢谢阿披舍克·科塔里。我还有一个疑问,如果我想删除数组中的另一个键,并且该键是type object,那么如果我更改名称,就足够了,不需要更改整个查询??谢谢Abhishek Kothari。我还有一个疑问,如果我想删除数组中的另一个键,并且该键是type object,那么如果我更改名称,就足够了,不需要更改整个查询??