mongoDB 入门笔记

mongoDB 是什么

MongoDB 是一种数据库。数据库是一个存储数据并提供增删改查 API 的东西。

macOS 上安装和启动 mongoDB

安装

brew tap mongodb/brew
brew install mongodb-community

启动

通过 homebrew 设置开机自启

brew services start [email protected]

或者每次需要使用时手动开启

mongod --config /usr/local/etc/mongod.conf --fork

如果因升级了 Catalina 之后导致启动失败,可尝试删除 /usr/local/var/mongodb 目录下所有东西之后重新开启。

基本概念

Document

Document 是 MongoDB 的最小操作单元,所有的记录都是以 Document 的形式存储。Document 由一系列有序的 field-value pairs 组成。field name 必须唯一、大小写敏感、不能以 $ 开头、不能包含空白字符;value 可以为任意合法的 BSON type。默认地,每个 Document 在被插入时会生成一个排在第一位的特殊 field:_id,为按照特定规则生成的保证其唯一性的长度为 12 bytes 的 ObjectId,可以转换成一个包含 24 个十六进制数的字符串。

Collection

Collection 是 Document 的集合。

Database

Database 是 Collection 的集合。

概括起来,field-value pair(s) -> Document(s) -> Collection(s) -> Database(s),「->」 表示「组成」的意思。

Mongo shell

Mongo shell 是访问 MongoDB 的接口(同时也可以执行 JavaScript 的代码),所以,通过 Mongo shell 便可以进行增删改查操作。MongoDB 服务开启后,在 shell 里输入 mongo 即可连接 MongoDB 进而进入 Mongo shell。

增删 Database

use dbName
db.collection.insert({})

以上代码执行完后就会新建一个名为 dbName 的 db,同时这个包含一个名为 collection 的 collection,collection 里包含一个 document,document 里只有一个 _id。

use dbName
db.dropDatabase()

增删 Collection

use dbName
db.collection.drop()

增删改查 Document

db.collection.insert(document)
db.collection.insertOne(document)
db.collection.insertMany(documents)

db.collection.deleteOne(filter)
db.collection.deleteMany(filter)

db.collection.updateOne(filter, update)
db.collection.updateMany(filter, update)
db.collection.update(filter, update)
db.collection.replace(filter, update)

db.collection.find(query, projection)
db.collection.findOne(query, projection)

你可能感兴趣的:(mongoDB 入门笔记)