IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mongodb数据库及用python操作 -> 正文阅读

[大数据]Mongodb数据库及用python操作

MongoDB基础知识与操作

1、什么是mongoDB

MongoDB是面向文档的NoSQL数据库,经常被用于存储非关系型的数据库,常用MongoDB存储web服务日志,或用来存储爬虫内容

MySQL是数据库,SQL是领域型语言,操作数据库
2、MongoDb创建数据库
use database_name
use test
db
show dbs

插入数据
Mongodb中没有直接创建表的命令,在MongoDb中,建完数据库后可以直接往表中插入数据,表名在插入数据时指定

db.collection.insert(doucment)
db.user.insert({
‘name’:‘chenwuyou’,
‘age’:25
})

在mongodb中等于、小于、小于等于、大于、大于等于、不等于

等于 db.col.find({“by”:“Mongodb入门教程”}).pretty()
小于 db.col.find({“likes”:{KaTeX parse error: Expected 'EOF', got '}' at position 6: lt:50}?}).pretty() 小于或…lte:50}}).pretty()
大于 db.col.find({“likes”:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:50}?}).pretty() 大于或…gte:50}}).pretty()
不等于 db.col.find({“likes”:{$ne:50}}).pretty()

查询用户表中所有年龄大于等于25岁的用户,查询语句为:
db.user.find({“age”:{$gte:25}},{“_id”:0}).pretty()

排序

在Mongodb中使用sort()方法对数据进行排序,sort()方法可通过参数指定排序的字段
db.collection.find().sort({key:1})
1表示升序,-1表示降序

将所有年龄小于30岁的用户查询出来,并按照年龄升序排列
db.user.find({“age”:{KaTeX parse error: Expected 'EOF', got '}' at position 6: lt:30}?}).sort({age:1}…set:{‘age’:27}})

删除操作
db.col.remove({})
db.col.find()

python处理MongoDB

import pymongo

#连接mongodb
client = pymongo.MongoClient(host='localhost',port=27017)

# 或者 client = MongoClient('mongodb://localhost:27017/')

#指定数据库,在Mongodb中可以建立多个数据库,需要指定操作哪个数据库。以test数据库为例
db = client.test
#db = client['test']
#指定集合,下一步需要指定操作的集合
collection = db.user
#collection = db['user']

#插入单条数据
people = {
    'name':'chenwuyou',
    'age':26,
    'hobby':'code'
}
result = collection.insert_one(people)
print(result)
print(result.inserted_id)

#插入多条数据
people = {
    'name':'chenwuyou',
    'age':26,
    'hobby':'code'
}
people1 = {
    'name':'chenwuyou1',
    'age':26,
    'hobby':'code'
}
result = collection.insert_many([people,people1])
print(result)
print(result.inserted_ids)
#查询可通过find_one()或find()方法,其中find_one()查询得到单个结果,find()则返回一个生成器对象
result = collection.find_one({'name':'chenwuyou'})
print('result:',result)
#如果希望通过_id查询,需要构建出objectID对象,需要使用bson库
from bson.objectid import ObjectId

result = collection.find_one({'_id':ObjectId('631c2a5afafd42348f0f4625')})
print(result)
#对于多条数据的查询,可以使用find()方法,例如查询年龄大于20的数据
results = collection.find({'age':{'$gt':20}})
for result in results:
    print(result)
#计数 统计查询结果有多少条数据,可以使用count()方法
count = collection.estimated_document_count({'age':{'$gt':20}})
print(count)
#排序,升序使用pymongo.ASCENDING,降序使用DESCENDING
results = collection.find().sort('name',pymongo.ASCENDING)
print([result['name']for result in results])

#更新,使用update方法,指定更新的条件和更新后的数据
condition = {'name':'chenwuyou'}
people = collection.find_one(condition)
people['age'] = 28
result = collection.update_one(condition,{'$set':people})
print(result)
print(result.matched_count,result.modified_count)
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:22:42  更:2022-09-13 11:22:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:10:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码