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)
相关推荐
非优秀程序员2 小时前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
SelectDB7 小时前
SelectDB 是哪个公司的?是国产数据库吗?一篇讲清飞轮科技与 Apache Doris 的关系
数据库
这个DBA有点耶7 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
这个DBA有点耶9 小时前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范
星恒随风9 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio9 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
数据库急诊室_阿哲13 小时前
一次加索引建议的复核记录:从报告到签字
数据库·ai数据库
青瓦梦滋14 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
慧都小妮子15 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能
Joy T16 小时前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting