添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1. 第三方包

from pymongo import MongoClient
import bson
from dateutil import parser

2. 插入数据并设置数据类型

from pymongo import MongoClient
import bson
from dateutil import parser
from datetime import datetime      # 为了获取当前时间
'''连接数据库'''
connect = MongoClient(host="IP", port=端口号)
'''获取数据库实例'''
editor = connect["editor"]
editor = connect.editor
'''获取 student 集合'''
student = editor["student"]
student = editor.student
'''定义一条数据为字典类型'''
stu = {'id': bson.int64.Int64('20180901'),
	   'name': 'Jone', 
       'age': 22, 
       'gender': 'male',
       "add_time": parser.parse(datetime.now())}
'''插入数据'''
student.insert_one(stu)

3. 修改已插入数据的类型

'''查找需要修改的数据'''
result = student.find({"id":{"$gte":20180901,"$lt":20180905}},
                         no_cursor_timeout=True, batch_size=10)
for a in result:
    student.update_one(a, {"$set": {"id": bson.int64.Int64(a["id"])}})
#10.20.66.106
client = MongoClient('10.20.4.79', 27017)
#client = MongoClient('10.20.66.106', 27017)
db_name = 'ta'
db = client[db_name]
假设mongodb数据库中school 集合中
    对比项      mongoDB      mysql oracle
    表        集合list        二维表
    表的一行数据    文档document    一条记录
    表字段        键key        字段field
    字段值        值value  ...
from pymongo import MongoClient
from bson.objectid import ObjectId
from datetime import datetime
client = MongoClient()
print(client.database_names())
如果输出有数据库的名字['admin'...
				
在工作中遇到这样一个问题,需要对上百个mdb文件进行数据统计,mdb文件实际上就是access数据库,使用微软的access工具即可打开。 但是我电脑上没有安装access数据库,而且官方的安装包还要付费,下载破解版费时费力还不一定能成功,于是便想到了万能的Python。 经过一番搜索,发现Python有一个第三方库“pyodbc”可以解析access的数据库。 更妙的是还能与pandas联动,将数据库的表直接转为dataframe格式,这样就大大简化了我后续统计操作的步骤。 那么首先需要安装,直接用p
数据库的信息是存储在集合中。它们使用了系统的命名空间: dbname.system.* 在MongoDB数据库中名字空间 .system.* 是包含多种系统信息的特殊集合(Collection),如下: 对于修改系统集合中的对象有如下限制。 在{{system.indexes}}插入数据,可以创建索引。但除此之外该表信息是不可变的(特殊的drop index命令将自动更新相关信息)。 {{system.users}}是可修改的。 {{system.profile}}是可删除的。 MongoDB 数据 from bson.objectid import ObjectId # 引入后正常查找就行了 query = {"_id": ObjectId("612df1252c9df273cbedc50a")} # 自己自定义id进行查询. query = {"_id": "612df1252c9df273 post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"]} collection.insert_one(post) # 插入多条数据 new_posts = [{"author": "Mike", "text": "Another post!", "tags": ["bulk", "insert"], "date": datetime.datetime(2009, 11, 12, 11, 14)}, {"author": "Eliot", "title": "MongoDB is fun", "text": "and pretty easy too!", "date": datetime.datetime(2009, 11, 10, 10, 45)}] collection.insert_many(new_posts) 查询数据: ```python # 查询所有数据 for post in collection.find(): print(post) # 条件查询 query = {"author": "Mike"} for post in collection.find(query): print(post) # 正则表达式查询 query = {"author": {"$regex": "^M.*"}} for post in collection.find(query): print(post) 修改数据: ```python # 更新一条数据 result = collection.update_one( {"author": "Mike"}, {"$set": {"text": "My first blog post (update)!"}} print("影响的文档数量:", result.modified_count) # 更新多条数据 result = collection.update_many( {"author": "Mike"}, {"$set": {"text": "My first blog post (update)!"}} print("影响的文档数量:", result.modified_count) 删除数据: ```python # 删除一条数据 result = collection.delete_one({"author": "Mike"}) print("影响的文档数量:", result.deleted_count) # 删除多条数据 result = collection.delete_many({"author": "Mike"}) print("影响的文档数量:", result.deleted_count) # 删除所有数据 result = collection.delete_many({}) print("影响的文档数量:", result.deleted_count) 关闭连接: ```python # 关闭连接 client.close()