У меня есть этот запрос MongoDB -
db.doc_collection.update(
{ "document": ObjectId("5e104b30a23cc50d0e52d54a"),
"result": {'$elemMatch': {
"class_label": {"$regex": /^section_prefix\|\|\|.*\|\|sub_section_suffix$/}, "group_label": {'$gt': 1}}}
},
{'$inc': {"result.$[element].group_label": -1}},
{
upsert: false,
arrayFilters: [
{ "element.class_label": {"$regex": /^section_prefix\|\|\|.*\|\|sub_section_suffix$/}, "element.group_label": {'$gt': 1}}
]
}
)
Этот запрос работает нормально, когда я запускаю его в MongoDB. Но когда я пытаюсь написать тот же запрос в PyMon go - Django Codebase, как показано ниже -
class_label_regex = "/^" + section_data + "/|/|/|.*/|/|" + sub_section_data + "$/"
UpdateOne({
"document": ObjectId(document_data),
"result": {'$elemMatch': {
"class_label": {"$regex": class_label_regex}, "group_label": group_label_data}}
},
{'$pull': {"predictions": {
"class_label": {"$regex": class_label_regex}, "group_label": group_label_data}}}
)
Это не работает. Это не бросает никакой ошибки. Когда я запустил этот код, я распечатал этот фрагмент кода -
[UpdateOne({
'document': ObjectId('5e104b30a23cc50d0e52d549'),
'result': {'$elemMatch':{'class_label': {'$regex': '/^section_prefix/|/|/|.*/|/|sub_section_suffix$/'},
'group_label': 1.0}}},
{'$pull': {'result': {'class_label': {'$regex': '/^section_prefix/|/|/|.*/|/|sub_section_suffix$/'},
'group_label': 1.0}}}, False)]
Может кто-нибудь указать, что я здесь не так делаю? Что-то не так с определением регулярных выражений.
Заранее спасибо !!