idx1 = Index(['user_id', 'date'], unique=True) user_id = StringField(required=True) date = DateTimeField(required=True) position_list = ListField(EmbeddedField(MyPosition)) class Order(Document): """ 当日订单汇总 """ class Meta: idf = IDFormatter('{user_id}_{date}') idx1 = Index(['user_id', 'date'], unique=True) user_id = StringField(required=True) date = DateTimeField(required=True) order_list = ListField(EmbeddedField(MyOrder)) class Status(Document): """ 当日挂单汇总 """ class Meta: idf = IDFormatter('{user_id}_{date}') idx1 = Index(['user_id', 'date'], unique=True) user_id = StringField(required=True) date = DateTimeField(required=True) status_list = ListField(EmbeddedField(MyStatus)) conn.register_all()
Index, ) class Test(Document): class Meta: tsidx = Index(['text', 'status'], unique=True) text = StringField(required=True) status = IntField() count = IntField(default=0) conn = Connection('mongodb://localhost/yamotest') conn.register_all() def test_crud(): Test.drop() t = Test({'text': 'aaa', 'status': 2}) t.save() assert t.count == 0 assert t._id t2 = Test({'text': 'aaa', 'status': 2, 'count': 5}) t2.upsert() assert t2.count == 5 assert t2._id == t._id
def setup_mongodb(conf): from yamo import Connection conn = Connection(conf['mongodb_url']) conn.register_all()