ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

PythonÈçºÎÁ¬Á¬½ÓMongoDBÊý¾Ý¿â£¿PyMongo³£¼ûÓï·¨

¸üÐÂʱ¼ä:2021Äê06ÔÂ08ÈÕ17ʱ48·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

ºÃ¿Ú±®ITÅàѵ

PythonÊÇĿǰ±È½ÏÁ÷ÐеijÌÐòÉè¼ÆÓïÑÔ£¬ÌرðÊÇÔÚÈ˹¤ÖÇÄܺʹóÊý¾Ý·ÖÎö´¦ÀíÉÏ£¬Êг¡¿Õ¼äÊDZȽϴóµÄ¡£Ð´´Ëͬʱ£¬MongDBÊDZȽÏÁ÷ÐеÄNoSQLÊý¾Ý¿âµÄ½â¾ö·½°¸£¬Á½Õß½áºÏʹÓõij¡¾°·Ç³£¶à¡£

ÒªÏëÔÚPythonÏîÄ¿ÖÐʹÓÃMongoDBÊý¾Ý¿â£¬ÐèÒªÔÚPython±ê×¼¿âµÄ»ù´¡ÉÏÌí¼Ó¶ÔMongoDBµÄÖ§³Ö¡£½ØÖ¹µ½Ä¿Ç°£¬³£ÓõĿª·¢MongoDBµÄ°üΪPyMongo¡£ÏÂÃæ½«Õë¶ÔPyMongoµÄÏà¹ØÄÚÈݽøÐÐÏêϸ½éÉÜ¡£


PyMongoµÄ¸ÅÄî

PyMongoÊÇÓÃÓÚMongoDBµÄ¿ª·¢¹¤¾ß£¬ÊÇPython ²Ù×÷MongoDBÊý¾Ý¿âµÄÍÆ¼ö·½Ê½¡£

PyMongoÖÐÖ÷ÒªÌṩÁËÈçÏÂÀàÓëMongoDBÊý¾Ý¿â½øÐн»»¥:

¡ôMongoClientÀà:ÓÃÓÚÓëMongoDB·þÎñÆ÷½¨Á¢Á¬½Ó¡£

¡ôDataBaseÀà:±íʾMongoDBÖеÄÊý¾Ý¿â¡£

¡ôCollection Àà:±íʾMongoDBÖеļ¯ºÏ¡£

¡ôCursor Àà:±íʾ²éѯ·½·¨·µ»ØµÄ½á¹û£¬ÓÃÓÚ¶Ô¶àÐÐÊý¾Ý½øÐбéÀú¡£

PyMongo¿âµÄ»ù±¾Ê¹ÓÃÁ÷³ÌÈçÏÂ:

(1)´´½¨Ò»¸öMongoClientÀàµÄ¶ÔÏó£¬ÓëMongDB·þÎñÆ÷½¨Á¢Á¬½Ó¡£

(2)ͨ¹ýMongoClient¶ÔÏó·ÃÎÊÊý¾Ý¿â(DataBase ¶ÔÏó)¡£

(3)ʹÓÃÉϸö²½ÖèµÄÊý¾Ý¿â´´½¨Ò»¸ö¼¯ºÏColletio¶ÔÏó)¡£

(4)µ÷Óü¯ºÏÖÐÌṩµÄ·½·¨ÔÚ¼¯ºÏÖвåÈË¡¢É¾³ý¡¢Ð޸ĺͲéѯÎĵµ¡£


PyMongoµÄ»ù±¾²Ù×÷

ÓÉÓÚPyMongoÊǵÚÈý·½¿â£¬ËùÒÔÐèÒª°²×°Ö®ºó²ÅÄÜÔÚPythonÖÐʹÓá£ÔÚWindowsϵͳϰ²×°¿ÉʹÓÃpipÃüÁî:

pip install pymongo

°²×°Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔʹÓÃPyMongo²Ù×÷MongoDB Êý¾Ý¿â¡£Ê×ÏÈÒªÔÚÏîÄ¿Öе¼ÈËPyMongo¿âµÄÈ«²¿ÄÚÈÝ»òÕßʹÓõ½µÄÀ࣬ͨ³£Çé¿öϲÉÓÃÈçÏ·½Ê½ÒýÈË:

from pymongo import *

µ¼ÈËPyMongo¿âÖ®ºó£¬¾Í¿ÉÒÔʹÓÃ¸Ã¿â½øÐÐÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷¡£ÏÂÃæ¾ÍÕë¶ÔPyMongo¿âµÄ»ù±¾²Ù×÷Ò»Ò»½øÐнéÉÜ¡£


1.´´½¨Á¬½Ó

¿ªÊ¼Ê¹ÓÃPyMongoµÄµÚÒ»²½ ÊÇ´´½¨Ò»¸ö MongoClientÀàµÄ¶ÔÏó£¬ÓÃÓÚÁ¬½ÓMongoDB·þÎñÆ÷¡£

¿ÉÒÔͨ¹ýMongoClientÀàµÄ¹¹Ôì·½·¨½øÐд´½¨¡£¸Ã·½·¨Óï·¨¸ñʽÈçÏÂ:

class pymongo.mongo_client.MongoClient(host='localhost', port=27017, document_class=dict, tz_aware=False, connect=True, **kwargs)

ÉÏÊö·½·¨Öаüº¬µÄ²ÎÊýº¬ÒåÈçÏÂ:

(1)host²ÎÊý:±íʾÖ÷»úÃû»òIPµØÖ·¡£

(2)port²ÎÊý:±íʾÁ¬½ÓµÄ¶Ë¿ÚºÅ¡£

(3)document_class²ÎÊý:´Ó´Ë¿Í»§¶Ë²éѯ·µ»ØµÄÎĵµÄ¬ÈÏʹÓôËÀà¡£

(4)tz_aware²ÎÊý:Èç¹ûΪTrue,Ôò´ËMongoClient×÷ΪÎĵµÖеÄÖµ·µ»ØµÄdatetimeʵÀý£¬½«»á±»Ê±ÇøËùʶ±ð¡£

(5)connect²ÎÊý:ÈôΪTrue(ĬÈÏ)£¬ÔòÁ¢¼´¿ªÊ¼ÔÚºǫ́Á¬½Óµ½MongoDB,·ñÔòÁ¬½Óµ½µÚÒ»¸ö²Ù×÷¡£

½¨Á¢Á¬½ÓµÄʾÀýÈçÏÂ:

client=MongoClient()

ÉÏÊöʾÀýÖÐûÓд«ÈËÈκβÎÊý£¬½«½¨Á¢Á¬½Óµ½Ä¬ÈϵÄÖ÷»ú(localhost)ºÍ¶Ë¿Ú(27017 )¡£

³ý´ËÖ®Í⣬¿ÉÒÔÏÔʽµØÖ¸¶¨Ö÷»úºÍʹÓö˿Ú¡£ÀýÈç:

client=MongoClient ('localhost', 27017)

Ò²¿ÉÒÔʹÓÃMongoDBµÄURL·¾¶ÐÎʽ´«È˲ÎÊý¡£ÀýÈç:

client=MongoClient('mongodb://localhost:27017')

2.·ÃÎÊÊý¾Ý¿â

Ö»ÒªÒѾ­½¨Á¢ÁËÓëMongo·þÎñÆ÷µÄÁ¬½Ó£¬¾Í¿ÉÒÔÖ±½Ó·ÃÎÊÈκÎÊý¾Ý¿â¡£·ÃÎÊÊý¾Ý¿âµÄ·½Ê½±È½Ï¼òµ¥£¬¿ÉÒÔ½«Æäµ±×÷ÊôÐÔÒ»Ñù£¬Ê¹ÓõãÓï·¨½øÐзÃÎÊ¡£ÀýÈç:

db=client.pymongo_test

´ËÍ⣬»¹¿ÉÒÔʹÓÃ×ÖµäµÄÐÎʽ½øÐзÃÎÊ¡£ÀýÈç:

db=client['pymongo_test']
×¢Òâ:Èç¹ûÖ¸¶¨µÄÊý¾Ý¿âÒѾ­´æÔÚ£¬¾ÍÖ±½Ó·ÃÎÊÕâ¸öÊý¾Ý¿â;Èç¹ûÖ¸¶¨µÄÊý¾Ý¿â²»´æÔÚ£¬¾Í»á×Ô¶¯´´½¨Ò»¸öÊý¾Ý¿â¡£

3.´´½¨¼¯ºÏ

´´½¨¼¯ºÏµÄ·½Ê½Óë´´½¨Êý¾Ý¿âÀàËÆ£¬Í¨¹ýÊý¾Ý¿âʹÓõãÓï·¨µÄÐÎʽ½øÐзÃÎÊ¡£ÆäÓï·¨¸ñʽ

ÈçÏÂ:

Êý¾Ý¿âÃû³Æ.¼¯ºÏÃû³Æ

ÀýÈ磬·ÃÎÊdbÊý¾Ý¿âÖеÄstudent¼¯ºÏ£¬Ê¾Àý´úÂëÈçÏÂ:

column=db.student

4.²åÈëÎĵµ

Íù¼¯ºÏÖвåÈËÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçÏÂÁ½¸ö:

(1) insert_one()·½·¨:²åÈËÒ»ÌõÎĵµ¶ÔÏó¡£

(2) insert_many()·½·¨:²åÈËÁбíÐÎʽµÄ¶àÌõÎĵµ¶ÔÏó¡£

²åÈËÒ»ÌõÎĵµµÄʾÀýÈçÏÂ:

try:
	client=MongoClient(host='localhost', port=27017)
	db=client.mongo_insert
	collection=db.student
	result=collection.insert_one({'name':'zhangsan', 'age':20})
	print(result)
except Exception as error:
	print(error)

Êä³ö½á¹ûΪ:

<pymongo.results.InsertOneResult object at 0x0000000034CFF88>

²åÈ˶àÌõÎĵµµÄʾÀýÈçÏÂ:

result=column.insert_many([{'name':'zhangsan', 'age': 20}£¬
				{'name': 'lisi', 'age': 21}£¬
				{'name': 'wangwu', 'age': 22}])

5.²éѯÎĵµ

ÓÃÓÚ²éÕÒÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçϼ¸¸ö:

(1)find one()·½·¨:²éÕÒ-ÌõÎĵµ¶ÔÏó¡£

(2)find many0·½·¨:²éÕÒ¶àÌõÎĵµ¶ÔÏó¡£

(3)find0·½·¨:²éÕÒËùÓÐÎĵµ¶ÔÏó¡£

ÏÂÃæÒÔfind0·½·¨ÎªÀý£¬½éÉÜÈçºÎ²éѯ¼¯ºÏÖеÄËùÓÐÎĵµ¡£¾ßÌåÈçÏÂ:

try:
	client=MongoClient()
	db=client.mongo_insert
	collection=db.student
	result=collection.find({'age': 20})
	print(result)
	for doc in result:
		print(doc)
except Exception as error:
	print(error)

Êä³ö½á¹ûΪ:

<pymongo.cursor.Cursor object at 0x00000000038F89B0>
{'_id': objectId('59f420f386d7080f1824d8c1'), 'name':'zhangsan', 'age': 20}

6.¸üÐÂÎĵµ

ÓÃÓÚ¸üÐÂÎĵµµÄ·½·¨Ö÷ÒªÓÐÈçϼ¸¸ö:

(1) update_one()·½·¨:¸üÐÂÒ»ÌõÎĵµ¶ÔÏó¡£

(2) update_many()·½·¨:¸üжàÌõÎĵµ¶ÔÏó¡£

¸üÐÂÒ»ÌõÎĵµµÄʾÀýÈçÏÂ:

collection.update_one({'age': 22}£¬{'$set': {'name': 'zhaoliu'}})

¸üжàÌõÎĵµµÄʾÀýÈçÏÂ:

collection.update_many({'age': 22}, {'$set': {'name': 'zhaoliu'}})

7.ɾ³ýÎĵµ

ÓÃÓÚɾ³ýÎĵµµÄ·½·¨°üÀ¨Èçϼ¸¸ö:

(1) delele_one()·½·¨:ɾ³ýÒ»ÌõÎĵµ¶ÔÏó¡£

(2) delete_many()·½·¨:ɾ³ýËùÓмǼ¡£

ÏÂÃæÒÔdelete_many()·½·¨½øÐоÙÀý£¬½éÉÜÈçºÎ´Ó¼¯ºÏÖÐɾ³ýËùÓеÄÎĵµ¡£¾ßÌå´úÂëÈçÏÂ:

collection.delete_many({})

ͨ¹ý¶ÔÉÏÊö²Ù×÷µÄѧϰ£¬ÊìÁ·µØÕÆÎÕÁËÊý¾Ý¿âµÄÔö¼Ó¡¢É¾³ý¡¢²éÕÒ¡¢Ð޸ĵȻù±¾²Ù×÷Ö®ºó£¬ÔÙȥѧϰºÍÌáÉý¾Í²»»áÔÙÓкܴóµÄÕϰ­¡£Êµ¼ÊÉÏ£¬Ê¹ÓÃPyMongo¿â²Ù×÷Êý¾Ý¿âÊǷdz£¼òµ¥µÄ£¬ÒÔºóÈç¹ûÓöµ½¸ü¼Ó¸´ÔÓµÄÐèÇó£¬ÔÚÍøÂçÉϲéһϹ٠·½Îĵµ»òÕß¼¼Êõ²©¿Í£¬Ó¦¸Ã¶¼ÄÜ˳Àû½â¾ö¡£



²ÂÄãϲ»¶£º

PythonÈçºÎʹÓÃpymysqlÁ´½ÓmysqlÊý¾Ý¿â£¿

ÅÀ³æÊʺÏʹÓÃMysql»¹ÊÇMongdb£¿

PythonÈçºÎ°²×°pymysqlÄ£¿é£¿

ÀÖÓãµç¾º¸ß¼¶python+´óÊý¾ÝÅàѵ¿Î³Ì

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿