当前位置: 首页 > news >正文

mongoDB快速上手

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。

MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,

下载https://www.mongodb.com/try/download/community

下载完成解压缩

在目下创建data/db文件夹

创建logs/mongo.log

创建mongo.config

dbpath=D:\mongodb-win32-x86_64-windows-7.0.5\data #数据库路径
logpath=D:\mongodb-win32-x86_64-windows-7.0.5\logs\mongo.log #日志输出文件路径
port=27017 #端口号默认为27012

添加环境变量

安装服务

mongod --config D:\mongodb-win32-x86_64-windows-7.0.5\mongo.config --install --serviceName "mongodb"

打开Windows PowerShell执行命令

启动服务

mongod --dbpath D:\mongodb-win32-x86_64-windows-7.0.5\data

mongodb增删改查

文档 :文档相当于mysql中的一行,就是一句JSON键值对

集合:多个文档组成一个集合

数据库:多个集合组成一个数据库

展示数据库

show dbs

创建数据库

插入数据

插入数据

db.xw.insert({data:"2024"})
多条
db.xw.insertMany({}{})

读取数据

db.xw.findOne()或find()  加pretty()可以美化打印

更新数据

db.xw.updata({data:"2024"},{data:"2222"})

删除数据

db.xw.remove({data:"2024"})

删除集合

db.xw.drop()

MongoDB的ID

MongoDB的每一条文档插入都会有一个默认ID,而且必须存在

属于Objectid这个默认类型,有12字节存储空间,共24个十六进制数字

查询

默认返回当前集合的所有数据

db.xw.find({})

查询url小于等于10的

db.xw.find({url:{$lte:10}})
lt 小于
ge 大于
gte 大于等于

查询url是否存在 1 3 4

db.xw.find({url:{$in:[1,3,4]}})
nin不存在

存在id的

db.xw.find(id:{$exists:true}})

不显示_id,显示url数据

db.xw.find({},{_id:0,url:1})

Python操作MongoDB

安装包

pip install pymongo
import pymongo
#连接
client=pymongo.MongoClient("mongodb://127.0.0.1:27017")#数据库
db=client['xw']
#集合
col=db['test']mydict={"name":"python"}#插入数据
res=col.insert_one(mydict)
print(res)# mylist=[
#     {"name":"C++"},{"name":"Lua"}
# ]
# # res=col.insert_many(mylist)
# # print(res)
# for num,i in enumerate(mylist):
#     i['id']=num
#     col.insert_one(i)
## 查找数据
# res=col.find({},{"_id":0})
# for r in res:
#     print(r)
#更新
col.update_one(mydict,{"$set":{"name":"python3"}})
#删除
col.delete_many({})

相关文章:

  • vue按钮接收键盘回车事件
  • 云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索
  • 卸载apt-get 安装的PostgreSQL版本
  • HTML5+JavaScript绘制闪烁的网格错觉
  • 基于php的酒店管理系
  • 【Python】数据可视化之点线图
  • 后端人需知
  • Spring Boot 进阶- Spring Boot 自定义拦截器详解
  • Go版数据结构 -【4.2 二叉搜索树】
  • 从零开始Ubuntu24.04上Docker构建自动化部署(五)Docker安装jenkins
  • Linux系统性能调优技巧:提升效率与响应速度的秘诀
  • uni-app在线预览pdf
  • LeetCode 704. 二分查找
  • attrs:Python的类装饰器(简化类定义)
  • 华为-单臂路由
  • php的引用
  • 【EOS】Cleos基础
  • 【React系列】如何构建React应用程序
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【译】理解JavaScript:new 关键字
  • const let
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Fastjson的基本使用方法大全
  • golang中接口赋值与方法集
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Iterator 和 for...of 循环
  • Java比较器对数组,集合排序
  • Joomla 2.x, 3.x useful code cheatsheet
  • js面向对象
  • js数组之filter
  • Python十分钟制作属于你自己的个性logo
  • React Native移动开发实战-3-实现页面间的数据传递
  • Redis字符串类型内部编码剖析
  • vue-router 实现分析
  • Vue实战(四)登录/注册页的实现
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 运行时添加log4j2的appender
  • 智能合约开发环境搭建及Hello World合约
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • python最赚钱的4个方向,你最心动的是哪个?
  • Semaphore
  • 阿里云API、SDK和CLI应用实践方案
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #pragma预处理命令
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (3)选择元素——(17)练习(Exercises)
  • (C11) 泛型表达式
  • (LeetCode 49)Anagrams
  • (SpringBoot)第七章:SpringBoot日志文件
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)python房屋租赁管理系统 毕业设计 745613