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)
相关推荐
啦啦啦_99994 分钟前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码1 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean1 小时前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707532 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
码农小卡拉3 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣503 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
wjhx3 小时前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt