我想对文档字段的数据类型实现一些约束,但我对ODM的任何其他功能都不感兴趣(我怀疑我只会使用pymongo
)。是否存在可用于向我的集合字段添加约束的轻量级包?
或者这通常是在输入插入数据库之前在python中完成的?例如:
def varchar_20(input):
return re.match(r'^\w+$', input) > 0 and len(input) <= 20
此外,python
内的约束检查是否可能导致中高容量写入应用程序出现严重的性能问题?
答案 0 :(得分:1)
MongoDB没有办法验证服务器上的约束。这是将在客户端上完成的工作。根据猪的漫游语言,一些驱动程序提供了检查一些基本约束的方法,尽管它们通常很简单,比如字符串的长度。
许多对象层提供了一种自定义验证方法,您可以在此处插入自定义逻辑。 PyMongo没有,但是有许多其他框架可以使用PyMongo并添加验证:http://api.mongodb.org/python/2.4.1/tools.html
至于可扩展性,如果没有更多细节,很难说。