在不知道索引mongodb的情况下在数组中查找dict



我有一个MongoDB文档,它有一个名为forms的数组,数组中的每个项都是一个字典,有几个这种格式的文档,每个文档都有一个用于用户识别的电子邮件字段,每个字典都有一种名为title的标识符。我的问题是,如何使用title参数检查数组中是否有特定的字典并检索索引,以及如何确保在当前用户文档中找到该项?

感谢

好的,经过一些研究,我找到了一种方法:

def already_exists(self, new_form, email):
raw_idx = list(self.users_data_collection.aggregate(
[
{'$match': {'email': email}},
{'$project': {
'index': {'$indexOfArray':['$forms.title',new_form['title']]}
}
}
]
)
)
return raw_idx[0]['index']

我用电子邮件参数过滤了它,以找到正确的文档和dict的raw_idx返回列表,其中包含_id字段和index字段,然后我只返回了索引。

我希望我已经帮助了需要帮助的人。

最新更新