前端开发--Mongodb篇
安装和启动
- 安装
本地mac Os推荐使用Homebrew
⚠️ 目前直接使用~~brew install mongodb~~ 安装 mongodb 时提示:
Error: No available formula with the name 'mongodb'
;那是因为MongoDB不再是开源的了,并且已经从Homebrew中移除 #43770
最新安装方式:brew install mongodb-community
- 配置
配置文件:`/usr/local/etc/mongod.conf`
日志目录路径:`/usr/local/var/log/mongodb`
数据目录路径:`/usr/local/var/mongodb`
- 启动
本地终端输入mongod --config /usr/local/etc/mongod.conf
启动后另开终端输入mongo
- mongod 是用来连接到mongodb数据库服务器的,即服务器端。
- mongo 是用来启动MongoDB shell的,是mongodb的命令行客户端。
- 验证
-
按照默认的配置文件启动
mongod --config /usr/local/etc/mongod.conf
-
通过浏览器访问http://localhost:27017/ 也可以验证是否安装成功,如果出现
It looks like you are trying to access MongoDB over HTTP on the native driver port.
说明安装成功。
mongo常用命令
mongod 启动mongodb后,在新的终端输入
mongo
,进入MongoDB shell环境中
- 基础命令
db // 显示当前使用mongodb数据库
show dbs // 查看当前所有已存在数据库
use local // 使用当前存在的数据库local(创建/切换数据库)
db.createCollection("集合名称") // 创建集合
db.集合名称.drop() // 移除集合
show collections | show tables // 查看当前mongodb数据库下所有集合(表)两个命令都可以用
db.users.insert({userid:"admin",password:"123456"}) // 插入数据
db.users.find() // 查看users集合里数据
exit // 退出
- 增 -- 插入
db.collectionName.insert({userid:"admin",password:"123456"})
db.collectionName.insertOne() // 向指定集合中插入一条文档数据
db.collectionName.insertMany() // 向指定集合中插入多条文档数据
实例:
# 插入单条数据
> var document = db.collection.insertOne({"a": 3})
> document
{
"acknowledged" : true,
"insertedId" : ObjectId("571a218011a82a1d94c02333")
}
# 插入多条数据
> var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
> res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("571a22a911a82a1d94c02337"),
ObjectId("571a22a911a82a1d94c02338")
]
}
3. 删 -- 清空集合数据
db.contact.remove({}) // 清空contact集合数据
4. 查 -- 查找
db.contact.find().pretty() // 查看contact集合下所有内容
db.contact.find({"_id":2338377732129792}) // 按字段指定值查询数据
5. 改 -- 更新
db.contact.update({name:"user1"},{name:"jack"}) // 覆盖
db.contact.update({name:”user1”},{$set:{address:”bj”}},0,1) // 更新,有则改之 无则添之
mongodb 实用报错指南
-
mongod启动后 报
Failed to unlink socket file /tmp/mongodb-27017.sock
解决方法: 在终端中输入sudo rm /tmp/mongodb-27017.sock
移除该文件 -
mongod启动后 报
Unable to create/open lock file
应该是没有读写权限,加权限sudo chown 777 /data/db -
mongod启动后,终端输入命令mongo报道
directory /data/db not found.
; 说明默认的数据库路径不存在,我们首先需要创建该目录。
sudo mkdir -p /data/db
磁盘根目录下创建目录需要sudo权限