MongoDB で mongoengine を使用しています。タプル (merchant_id、order_id、event_type) が一意のキーでなければならないドキュメントを作成する必要があります。
これまで、私は常に2つの分野に限定された独自性を扱ってきました。したがって、次の作品 -
merchant_id = StringField(required = True)
order_id = StringField(required = True, unique_with = 'merchant_id')
今、私は3つのフィールドに対してこれをやろうとしています -
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'))