我正在将 mongoengine 与 MongoDB 一起使用。我必须制作一个文档,其中元组 (merchant_id, order_id, event_type) 必须是唯一键。
到目前为止,我一直在处理仅限于两个领域的独特性。所以以下工作 -
merchant_id = StringField(required = True)
order_id = StringField(required = True, unique_with = 'merchant_id')
现在,我正在尝试为三个领域做到这一点 -
merchant_id = StringField(required = True)
order_id = StringField(required = True)
event_type = StringField(
required = True,
unique_with = ['merchant_id', 'order_id'])
但这不起作用。我没有在模块中收到错误。但是,如果我输入数据为 -
merchant_id = 'Merchant1'
order_id = 'Order1'
event_type = 'Event1'
然后尝试添加另一个具有相同但不同的数据,merchant_id
然后它会给出一个关于重复键的错误。order_id
event_id
我也试过:
merchant_id = StringField(required = True)
order_id = StringField(required = True)
event_type = StringField(
required = True,
unique_with = ('merchant_id', 'order_id'))