我刚开始学习mongodb,并且还不知道很多。如何在pymongo中禁用'_id'
所以我的代码:
#! /usr/bin/env python2.7
import pymongo
import datetime
class AccountsDB():
def __init__(self):
self.store_info()
def store_info(self):
try:
conn = pymongo.Connection('localhost', 27017)
db_name = 'accountsdb'
coll_name = 'user_info'
db = conn[db_name]
coll = db[coll_name]
print "Successfully connected to '%s'" % db_name
for i in xrange(20):
post = {
'f_name' : 'Sergey',
'l_name' : 'Ivanov',
'number' : '777-9-777',
'user_id': i
}
coll.insert(post)
print "Done"
except:
print "Can't connect to the database"
if __name__ == "__main__":
acc = AccountsDB()
,这让我:
> db.user_info.find()
{ "_id" : ObjectId("50c64872bdbff34435192a94"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 0, "number" : "777-9-777" }
{ "_id" : ObjectId("50c64872bdbff34435192a95"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 1, "number" : "777-9-777" }
{ "_id" : ObjectId("50c64872bdbff34435192a96"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 2, "number" : "777-9-777" }
{ "_id" : ObjectId("50c64872bdbff34435192a97"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 3, "number" : "777-9-777" }
{ "_id" : ObjectId("50c64872bdbff34435192a98"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 4, "number" : "777-9-777" }
{ "_id" : ObjectId("50c64872bdbff34435192a99"), "l_name" : "Ivanov", "f_name" : "Sergey", "user_id" : 5, "number" : "777-9-777" }
and so on....
但我想摆脱 '_id',并使用 'user_ID的',而不是作为我的主键。我很确定它可以完成,但不知道如何。
所以我应该只使用'user_id',而忘记了'_id'? – Vor
当我说没有我意思是你不能禁用“_id”,但如果你能忍受它,你可以同时拥有“user_id”和“_id”。但pymongo使用_id存储对象 – llazzaro
ohh另一种方式是叉pymongo实现你需要和发送拉请求:)。或更好的首先要求这个到pymongo ppl – llazzaro