Mongodb

Mongodb概述

知识点一:Mongodb的常用操作

Mongodb概述

端口号27017

bash 复制代码
mongosh #进入mongo
exit #退出

#显示数据库
show dbs
#显示当前数据库
db
#进入数据库创建数据库
use jianqidatabase
#创建集合
db.createCollection("students")
#查看集合
show collections
#删除库(一定要进入到库里面去)
db.dropDatabase()
#删除集合
db.students.drop()

知识点一:MongoDB的常用操作

bash 复制代码
#插入数据
db.students.insert({'name':'jianqi','age':20})
db.students.insert({'name':'fufu','age':21})

#查看数据
db.students.find()

#插入多行数据
db.students.insert([{'name':'jianqi','age':20},{'name':'fufu','age':21}])

#指定id
db.students.insert({name:"jianqi",_id:1,age:20,sex:"女"})

#格式化输出
db.students.find().pretty

#查询满足条件的数据
db.students.find({name:"jianqi"})
db.students.find({name:"jianqi"}).pretty()

-------------------------------------------------------------------------------------------
条件
#and条件
db.students.find(
    {$and:
        [
            {name:"jianqi"},
            {age:20}
        ]
    }
                )
db.students.find({$and:[{name:"jianqi"},{age:20}]})

#or条件
db.students.find({$or:[{name:"jianqi"},{age:20}]})

#and和or混用
db.students.find({$or:[{$and:[{name:'jianqi'},{age:20}]},{$and:[{name:fufu},{age:21}]}]})

#修改
第一个字典是条件,只会更新找到的第一条数据,而且是全部覆盖
db.students.update({"name":"jack"},{age:100})
#修改指定的数据
db.students.update({name:"jianqi"},{$set:{age:18}})             #有就修改,没有就不修改
db.students.update({name:"fufu"},{$set:{age:19}},{upsert:true}) #有就修改,没有就插入

#更新满足条件的所有文档
db.students.update({name:"jack"},{$set:{name:"beibei"}},{multi:true})

#删除
#删除满足条件的第一条文档
db.students.remove({name:"jack"},{justOne:true})
#删除满足要求的所有文档
db.students.remove({name:"jack"})
#删除所有文档
jianqidatabase> db.students.remove({})

知识点二:Python操作MongoDB

python 复制代码
#如果没安装库先安装库命令如下
pip install pymongo

import pymongo

#建立连接
client=pymongo.MongoClient(host='127.0.0.1',port=27017)

#指定数据库
db=client["jianqidatabase"]

#指定下集合
my_col=db["students"]

#增一条数据
my_col.insert_one({'name':"jianqi",'age':18})
#增多条数据
my_col.insert_many([{'name':"jianqi1",'age':19},
                     {'name':"jianqi2",'age':20},
                     {'name':"jianqi3",'age':21}])

#删除一条
res=my_col.delete_one({'name':'jianqi1'})
print(res)
#全删
res=my_col.delete_many({})

#查一条数据
res=my_col.find_one()
print(res)
#查多条数据
res=my_col.find()
for i in res:
    print(i)

#改
my_col.update_one({'name':"jianqi1"},{"$set":{'age':100}})
res=my_col.find_one({'name':'jianqi1'})
print(res)
相关推荐
薛定谔的算法17 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend18 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术19 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
似水流年流不尽思念1 天前
MongoDB 有哪些索引?适用场景?
后端·mongodb
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 天前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud2 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud2 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence2 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger2 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化