Найти все и изменить документ в MongoDB - PullRequest
0 голосов
/ 28 мая 2020

У меня есть такой документ в MongoDB

{"_id":{"$oid":"5eb8c55230cb8651e0906d7e"},"rolecode":"DHBK_ROLE_01","functioncode":"DHBK_FUNC_01, DHBK_FUNC_02","productid":"mBaaS_Platform","comid":"DHBK"}
{"_id":{"$oid":"5eb8c5a030cb8651e0906d7f"},"rolecode":"DHBK_ROLE_02","functioncode":"DHBK_FUNC_02, DHBK_FUNC_03","productid":"GIS_Platform","comid":"DHBK"}
{"_id":{"$oid":"5ebe0016b4146803d8ad2559"},"rolecode":"DHKT_ROLE_01","functioncode":"DHKT_FUNC_01, DHKT_FUNC_02","productid":"mBaaS_Platform","comid":"DHKT"}
{"_id":{"$oid":"5ebe003cb4146803d8ad255a"},"rolecode":"DHKT_ROLE_02","functioncode":"DHKT_FUNC_01","productid":"Analysis_Platform","comid":"DHKT"}
{"_id":{"$oid":"5ebe00ffb4146803d8ad255b"},"rolecode":"DHBK_ROLE_03","functioncode":"DHBK_FUNC_01, DHBK_FUNC_02,DHBK_FUNC_03","productid":"IOT_Platform","comid":"DHBK"}
{"_id":{"$oid":"5ecf89f969f07e1cb0ad063d"},"rolecode":"DHBK1_ROLE_01","functioncode":"DHBK1_FUNC_1,DHBK_FUNC_03","productid":"IOT_Platform","comid":"DHBK1"}
{"_id":{"$oid":"5ecf8b6169f07e1cb0ad063e"},"rolecode":"DHBK1_ROLE_02","functioncode":"DHBK1_FUNC_1,DHBK_FUNC_02","productid":"SSO_Platform","comid":"DHBK1"}
{"_id":{"$oid":"5ecf8b7969f07e1cb0ad063f"},"rolecode":"DHBK1_ROLE_03","functioncode":"DHBK1_FUNC_1","productid":"ABC_Platform","comid":"DHBK1"}

Я хочу найти документы с DHBK1_FUNC_1 в functioncode и изменить это свойство на ""

Например:

Шаг 1: Найдите документы, имеющие DHBK1_FUNC_1 в functioncode, у нас есть:

{
    "rolecode": "DHBK1_ROLE_01",
    "functioncode": "DHBK1_FUNC_1,DHBK_FUNC_03",
    "productid": "IOT_Platform",
    "comid": "DHBK1"
}

{
    "rolecode": "DHBK1_ROLE_02",
    "functioncode": "DHBK1_FUNC_1,DHBK_FUNC_02",
    "productid": "SSO_Platform",
    "comid": "DHBK1"
}

{
    "rolecode": "DHBK1_ROLE_03",
    "functioncode": "DHBK1_FUNC_1",
    "productid": "ABC_Platform",
    "comid": "DHBK1"
}

Шаг 2: Измените, у нас есть:

{
    "rolecode": "DHBK1_ROLE_01",
    "functioncode": ",DHBK_FUNC_03",
    "productid": "IOT_Platform",
    "comid": "DHBK1"
}

{
    "rolecode": "DHBK1_ROLE_02",
    "functioncode": ",DHBK_FUNC_02",
    "productid": "SSO_Platform",
    "comid": "DHBK1"
}

{
    "rolecode": "DHBK1_ROLE_03",
    "functioncode": "",
    "productid": "ABC_Platform",
    "comid": "DHBK1"
}

Спасибо заранее

1 Ответ

1 голос
/ 28 мая 2020

Синтаксис:

db.collection.updateMany({filter},{update})

Решение:

    Replace collection_name with your collection.

db.collection_name.updateMany({"functioncode": "DHBK1_FUNC_1",},{'$set':{"functioncode":""},})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...