如何为mongodb创建create_index python方法

时间:2016-12-14 14:39:33

标签: python mongodb

在mongodb的cmd中使用命令:

db.test2.createIndex({ "type" : 1, "amount" : 1, "loss" : 1, "price" : 1, "create_date" : 1 }, {unique:true})
在python中

我可以轻松地为'find_one'命令编写方法,即:

@staticmethod
def find_one(collection, query):
    return Database.DATABASE[collection].find_one(query)

但写一个创建索引会引发错误,即:

@staticmethod
def create_index(collection):
    return Database.DATABASE[collection].createIndex({ "type" : 1, "amount" : 1, "loss" : 1, "price" : 1, "create_date" : 1 }, {unique:true})

给出错误:

return Database.DATABASE[collection].createIndex({ "type" : 1, "amount" : 1, "loss" : 1, "price" : 1, "create_date" : 1 }, {unique:true})
NameError: name 'unique' is not defined

1 个答案:

答案 0 :(得分:0)

在pymongo中创建索引的方法是create_index。你应该这样做 -

my_collection.create_index([("type", pymongo.ASCENDING),("amount", pymongo.ASCENDING),("loss", pymongo.ASCENDING),("price", pymongo.ASCENDING),("create_date", pymongo.ASCENDING)], unique=True)

查看文档here