mybpm!
Скачать в формате: PDF pdf DOCX word

Удаление записи в MongoDB по идентификатору

Для этого нужно знать шестнадцатеричные идентификаторы для бизнес-объекта (БО или BO) и его инстанции BOI.

Например boId  = 67511932d4f50b455ef1b4d2
         boiId = 5516b84fa2242a344ea1b2b3

Идентификатор БО можно посмотреть в студии, как указано на рисунке ниже:

select-bo-id.png

Здесь можно посмотреть как преобразовывать идентификаторы Преобразование идентификаторов

Для удаление записи нужно:

1] зайти в утилиту mongo (по старому) или mongosh (по новому)

2] выбрать базу данных mongo_boi

use mongo_boi

Если установлен префикс, то нужно его указать тоже

use v1_1_mongo_boi

Можно посмотреть какие есть базы данных командой

show dbs

Потом можно посмотреть какие таблицы есть в этой БД командой:

show tables

Для удаления записи нужно выполнить команду:

db.boi_67511932d4f50b455ef1b4d2.deleteOne({ _id: ObjectId("5516b84fa2242a344ea1b2b3") })

Эта команда соответствует примеру выше - в Вашем случае будут другие идентификаторы БО и БОИ.

В это команде:

db - это ссылка на текущую базу данных, выбранную командой use ранее.

db.boi_67511932d4f50b455ef1b4d2 - ссылка на коллекцию соответствующую БО.

deleteOne - функция удаления по условию

{ _id: ObjectId("5516b84fa2242a344ea1b2b3") } - условие, которое соответствует записи с указанным идентификатором.

Kubernetes

Как можно запустить эту команду, если MongoDB установлена в кластере Kubernetes.

CMD='b.boi_67511932d4f50b455ef1b4d2.deleteOne({ _id: ObjectId("5516b84fa2242a344ea1b2b3") })'
echo $CMD > ___cmd.txt
kubectl -n tst-ns exec -i tst-mongo-pod-0 -- mongo < ___cmd.txt
#or
# kubectl -n tst-ns exec -i tst-mongo-pod -- mongosh < ___cmd.txt

Здесь:

tst-ns - это имя пространства имён (namespace) в котором установлен сервер MongoDB - подставьте своё

tst-mongo-pod-0 - это имя пода в котором запущен сервер MongoDB - подставьте своё

mongo или для новой mongosh - терминал MongoDB для управления базой данных