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

Mongodb安装和简单操作

文章目录

  • 1.安装服务端
    • 1.1 官网下载,解压安装
    • 1.2 配置启动
  • 2.安装客户端
  • 2.1 MongoDB Shell下载安装
  • 2.2 连接服务
  • 3.操作
    • 3.1 创建数据库
  • Create a New Database and Collection
    • 3.1 Insert Documents
    • 3.2 Query Documents
    • 3.3 Update Documents
    • 3.4 Delete Documents

1.安装服务端

1.1 官网下载,解压安装

mogodb下载地址

# 下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.11.tgz
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-7.0.11.tgz 
# 修改包名
mv mongodb-linux-x86_64-rhel70-7.0.11 mongodb
# 配置环境变量
export MONGODB_HOME=/opt/software/mongo
export PATH=$MONGODB_HOME/bin:$PATH
# 使环境变量生效
source /etc/profile

1.2 配置启动

默认情况下 MongoDB 启动后会初始化以下两个目录:
数据存储目录:/var/lib/mongodb
日志文件目录:/var/log/mongodb

#创建目录
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
# 设置权限
sudo chown `whoami` /var/lib/mongo     
sudo chown `whoami` /var/log/mongodb 
# 启动
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
# 查看日志
tail -10f /var/log/mongodb/mongod.log

2.安装客户端

MongoShell安装参考地址

2.1 MongoDB Shell下载安装

# 下载
wget https://downloads.mongodb.com/compass/mongosh-2.2.6-linux-x64.tgz
# 解压
tar -zxvf mongosh-2.2.6-linux-x64.tgz
# 授权
chmod +x bin/mongosh
# 移动以下两个文件到以下路径下
sudo cp mongosh /usr/local/bin/
sudo cp mongosh_crypt_v1.so /usr/local/lib/
# 软链接
sudo ln -s $(pwd)/bin/* /usr/local/bin/

2.2 连接服务

mongosh "mongodb://localhost:28015"
mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin

3.操作

3.1 创建数据库

Create a New Database and Collection

use myNewDatabase
db.myCollection.insertOne( { x: 1 } );

use maps
switched to db maps
maps> 
maps> db.maps.insertOne({x:1,y:1})
{acknowledged: true,insertedId: ObjectId('665bb7f84323849c6fa26a13')
}

3.1 Insert Documents

The MongoDB shell provides the following methods to insert documents into a collection:
To insert a single document, use db.collection.insertOne().

 db.music.insertOne({singer:"xxx",name:"do it",type:"popular"})
{acknowledged: true,insertedId: ObjectId('665bb96b4323849c6fa26a14')
}

To insert multiple documents, use db.collection.insertMany().

db.music.insertMany([{singer:"yyy",name:"love it",type:"popular"},{singer:"zzz",name:"forget it",type:"popular"}])
{acknowledged: true,insertedIds: {'0': ObjectId('665bb9e04323849c6fa26a16'),'1': ObjectId('665bb9e04323849c6fa26a17')}
}

3.2 Query Documents

db.music.find()

db.music.find()
[{_id: ObjectId('665bb96b4323849c6fa26a14'),singer: 'xxx',name: 'do it',type: 'popular'},{'0': { singer: 'yyy', name: 'love it', type: 'popular' },'1': { singer: 'zzz', name: 'forget it', type: 'popular' },_id: ObjectId('665bb9ca4323849c6fa26a15')},{_id: ObjectId('665bb9e04323849c6fa26a16'),singer: 'yyy',name: 'love it',type: 'popular'},{_id: ObjectId('665bb9e04323849c6fa26a17'),singer: 'zzz',name: 'forget it',type: 'popular'}
]

3.3 Update Documents

db.music.updateOne({singer:"xxx"},{$set:{type:"sad"}})
{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0
}
maps> db.music.find({singer:"xxx"})
[{_id: ObjectId('665bb96b4323849c6fa26a14'),singer: 'xxx',name: 'do it',type: 'sad'}
]

3.4 Delete Documents

db.music.deleteOne( { singer: "xxx" } )
{ acknowledged: true, deletedCount: 1 }
maps> db.music.find()
[{'0': { singer: 'yyy', name: 'love it', type: 'popular' },'1': { singer: 'zzz', name: 'forget it', type: 'popular' },_id: ObjectId('665bb9ca4323849c6fa26a15')},{_id: ObjectId('665bb9e04323849c6fa26a16'),singer: 'yyy',name: 'love it',type: 'popular'},{_id: ObjectId('665bb9e04323849c6fa26a17'),singer: 'zzz',name: 'forget it',type: 'popular'}
]

相关文章:

  • ChatGPT-4o 有何特别之处?
  • 计算机网络工程师需要掌握的知识点
  • 2023 N1CTF Junior pwn 顶级签到
  • 如何从0到设计一个CRM系统
  • Docker - Kafka
  • WEB攻防-JAVAWEB项目常见漏洞
  • Python与Android连接:深入探索与实现
  • (1)svelte 教程:hello world
  • TCP的重传机制
  • Docker 简介和安装
  • WPS部分快捷操作汇总
  • 华为设备配置静态路由和默认路由
  • 2024华为OD机试真题-寻找最优的路测线路-(C++/Java/Python)-C卷D卷-200分
  • 数据结构第七章-查找(1.基础内容)
  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑动态定价的新能源汽车能源站优化运行》
  • 2017-08-04 前端日报
  • C语言笔记(第一章:C语言编程)
  • HTTP--网络协议分层,http历史(二)
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • LeetCode18.四数之和 JavaScript
  • leetcode讲解--894. All Possible Full Binary Trees
  • Logstash 参考指南(目录)
  • miaov-React 最佳入门
  • springboot_database项目介绍
  • SQLServer之创建数据库快照
  • storm drpc实例
  • 初识 webpack
  • 关于springcloud Gateway中的限流
  • 技术:超级实用的电脑小技巧
  • 聊聊flink的BlobWriter
  • 漂亮刷新控件-iOS
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 在weex里面使用chart图表
  • const的用法,特别是用在函数前面与后面的区别
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • (1)svelte 教程:hello world
  • (21)起落架/可伸缩相机支架
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (论文阅读30/100)Convolutional Pose Machines
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (转)scrum常见工具列表
  • (转)负载均衡,回话保持,cookie
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .htaccess配置常用技巧
  • .jks文件(JAVA KeyStore)
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net中间语言BeforeFieldInit
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • ?
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [22]. 括号生成