其餘技術----mongoDB基礎

MongoDB簡單使用

介紹MongoDB

MongoDB是一種文檔型數據庫,它屬於非關係型數據庫。數據對象以BSON(二進制JSON)格式被存儲在集合的文檔中,而不是關係數據庫的行和列中。mongodb

MongoDB基本概念

集合

使用集合將數據編組,是一組用途相同的文檔,相似表的概念,但集合不受模式的限制,在其中的文檔格式能夠不一樣。數據庫

文檔

文檔表示單個實體數據,相似一條記錄(行);與行的差異:行的數據是扁平的,每一列只有一個值,而文檔中能夠包含子文檔,提供的數據模型與應用程序的會更加一致。code

若是MongoDB與關係型數據庫表和數據庫的對應關係以下
集合--->表
文檔--->表中的行對象

經過CLI操做MongoDB

數據庫操做

// 顯示數據庫
> show dbs
// 切換數據庫(若是沒有該數據庫則會建立這個臨時的數據庫)
> use abc
// 顯示當前使用的數據庫
> db
// 刪除數據庫
> db.dropDatabase()

集合操做

// 顯示全部集合
> show collections
// 建立一個集合
> db.createCollection('persons')
// 刪除一個集合
> db.persons.drop()

insert操做

在插入一個文檔時,咱們可能插入一個或多個文檔,因此就會有兩種插入方式,分別是db.collection.insertOne()和db.collection.insertMany()固然db.collection.insertOne()能夠寫成db.collection.insert()。
數據插入後會自動生成一個值,而這個值至關於表中的主鍵。
插入實例文檔

db.persons.insertOne({name:'alice',age:20})
db.persons.insertMany([{name:'bob',age:20},{name:'jack',age:21,phone:['1899445123','13244648852']}])io

find操做

因爲NoSQL中是沒有關聯查詢存在的,因此NoSQL中的查詢就相對來講容易許多。查詢的複雜度就小許多。test

db.persons.find()檢索全部的文檔
// name 是 bob
db.persons.find({name:'bob'})
// age 大於 20
db.persons.find({age:{$gt:20}})
// age 小於30 且 name 是 bob
db.persons.find({age:{$lt:30},name:'bob')cli

update操做

更新一個文檔,若是有多個符合條件的話則只替換其中的第一個。
db.collection.updateOne()
更新多個文檔
db.collection.updateMany()
更新實例date

db.persons.updateOne(
{name:'alice'}, // 條件
{$set:{age:19}} // 新的數據
)二進制

delete操做

刪除一個文檔,若是有多個文檔符合條件,那麼mongoDB會刪除第一條匹配的數據。
db.collection.deleteOne()
刪除多個文檔,會將全部符合條件的文檔刪除。
db.collection.deleteMany()
刪除實例

db.persons.deleteOne({name:'bob'}) db.persons.deleteMany([{},{}]) MongoDB在進行插入操做時,若是指定的數據庫是不存在的數據庫或未選擇數據庫,數據操做將會在test數據庫中操做。

相關文章
相關標籤/搜索