Mongodb 与 Python 的“set()”类型

2024-01-30

我正在构建一个以 mongoDB 作为后端的网络应用程序。某些文档需要将项目集合存储在某种列表中,然后系统需要经常检查该列表中是否存在指定的项目。使用 Python 的“in”运算符需要 Big-O(N) 时间,n 是列表的大小。由于这些列表可能会变得非常大,因此我想要比这更快的东西。 Python 的“set”类型在恒定时间内完成此操作(并强制唯一性,这对我来说很好),但被认为是放入 MongoDB 的无效数据类型。

那么最好的方法是什么?有没有办法只使用常规列表并利用 mongo 的索引功能?再次,我想知道,对于集合中的给定文档,该文档内的列表是否包含特定元素?


您可以使用字典来表示集合。您的元素成为键,所有值都可以设置为常量,例如 1。 in 运算符检查键是否存在。

编辑。 MongoDB 将字典存储为 BSON 文档,其中键必须是字符串(有一些额外的限制),因此上述建议的用途有限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongodb 与 Python 的“set()”类型 的相关文章

随机推荐