参考菜鸟教程:  https://www.runoob.com/python3/python-mongodb.html

 

pip3 install pymongo

 创建数据库,表,添加数据

#encoding=utf-8
#!/usr/bin/python3
 
import pymongo
 
myclient = pymongo.MongoClient("mongodb://192.168.25.142:27017")
#创建数据库--SeaTestPy
mydb = myclient["SeaTestPy"]
#创建一个集合(表)--mytable
mycol = mydb["mytable"]
#获取该库下所有的colllction(表)的名字
collist = mydb. list_collection_names()
# collist = mydb.collection_names()
# 判断 sites 集合(collection)是否存在
if "mytable" in collist:
    print("集合已存在!")
else:
    print("不存在,创建该表")

print("----------插入数据到表中(单条数据)-------------------")
mydict = { "name": "SeatestPy", "alexa": "10000", "url": "https://www.runoob.com" }
x = mycol.insert_one(mydict) 
print(x)


print("------------insert many  批量插入--------------")
mylist = [
  { "_id": 1, "name": "RUNOOB", "cn_name": "菜鸟教程"}, #如果指定了id ,那么会覆盖
  { "name": "Taobao", "alexa": "100", "url": "https://www.taobao.com" },
  { "name": "QQ", "alexa": "101", "url": "https://www.qq.com" },
  { "name": "Facebook", "alexa": "10", "url": "https://www.facebook.com" },
  { "name": "知乎", "alexa": "103", "url": "https://www.zhihu.com" },
  { "name": "Github", "alexa": "109", "url": "https://www.github.com" }
        ]
x_many = mycol.insert_many(mylist)
print(x_many)

 

 

查询数据:

#!/usr/bin/python3
 
import pymongo
 
myclient = pymongo.MongoClient("mongodb://192.168.25.142:27017")
#创建数据库--SeaTestPy
mydb = myclient["SeaTestPy"]
#创建一个集合(表)--mytable
mycol = mydb["mytable"]
#获取该库下所有的colllction(表)的名字
collist = mydb. list_collection_names()
# collist = mydb.collection_names()
# 判断 sites 集合(collection)是否存在
if "mytable" in collist:
    print("集合已存在!")
else:
    print("不存在,创建该表")
    
print("----------find all data-------------------")
# datas=mycol.find()
# for x in datas:
#     print(x)  
    
    
print("----------查询指定字段的数据-------------------")
# # 我们可以使用 find() 方法来查询指定字段的数据,将要返回的字段对应值设置为 1。
# for x in mycol.find({},{ "_id": 0, "name": 1, "alexa": 1 }):
#   print(x)


print("----------根据指定条件查询-----------------")
# myquery = { "name": "RUNOOB" }
# mydoc = mycol.find(myquery)
# for x in mydoc:
#   print(x)


print("---------高级查询-----------------")
# 查询的条件语句中,我们还可以使用修饰符。
# 以下实例用于读取 name 字段中第一个字母 ASCII 值大于 "H" 的数据,大于的修饰符条件为 {"$gt": "H"} 
# myquery = { "name": { "$gt": "H" } }
# mydoc = mycol.find(myquery)
# for x in mydoc:
#   print(x)
    

print("---------使用正则表达式查询-----------------")
# 使用正则表达式查询
# 我们还可以使用正则表达式作为修饰符。
# 正则表达式修饰符只用于搜索字符串的字段。
# 以下实例用于读取 name 字段中第一个字母为 "R" 的数据,正则表达式修饰符条件为 {"$regex": "^R"} :
# myquery = { "name": { "$regex": "^R" } }
# mydoc = mycol.find(myquery)
# for x in mydoc:
#   print(x)


print("---------返回指定条数记录-----------------")
myresult = mycol.find().limit(5)
# 输出结果
for x in myresult:
  print(x)

 

posted on 2019-10-10 18:31  lshan  阅读(188)  评论(0编辑  收藏  举报