本文爲 MongoDB 基本命令,用來記錄學習。
一.插入與查詢
1.選擇(創建)數據庫
數據庫不存在就會創建。
--格式:
use 數據庫名稱
--示例:
use localdb
2.插入數據
集合不存在就會創建集合。
--格式:
db.集合名稱.insert(數據)
--示例:
db.spit.insert({content:"國慶節完了~",publishtime:new Date(),userid:"1",nickname:"小小"})
3.查詢集合
使用 find() 查詢集合中的文檔。
--格式:
db.集合名稱.find()
--示例:
--(1)全量查詢
db.spit.find()
--(2)指定條件查詢集合
db.spit.find({nickname:'小唐'})
--(3)指定條件查詢集合-只返回1條
db.spit.findOne({nickname:'小唐'})
--(4)指定條件查詢集合-只返回n條
db.spit.find({nickname:'小小'}).limit(4)
二.修改與刪除
1.修改
使用 update() 修改更新文檔。
--格式:
db.集合名稱.update(條件,修改後的數據)
--示例:
--(1)修改 其他值都被清空了
db.spit.update({_id:ObjectId('5bb973c48a275f3a8ee8a402')},{content:'修改後的值'})
--(2)修改 值修改指定值,其他值不變
db.spit.update({_id:ObjectId('5bb973c48a275f3a8ee8a402')},{$set:{content:'修改後的值'}})
2.刪除文檔
使用 remove() 刪除文檔 。
--格式:
db.集合名稱.remove(條件)
--示例:
--(1)刪掉_id爲'5bb973c68a275f3a8ee8a404'的文檔
db.spit.remove({_id:ObjectId('5bb973c68a275f3a8ee8a404')})
--(2)刪除文檔 全部清空
db.spit.remove({})
三.統計條數
使用 count() 統計文檔記錄數。
--示例:
--(1)統計集合總記錄數
db.spit.count()
--(2)指定條件統計
db.spit.count({nickname:'小唐'})
四.模糊查詢
使用 find() 和 正則表達式。
--格式:
find(/模糊查詢字符串/)
--示例:
--(1)包含"國慶"
db.spit.find({content:/國慶/})
--(2)"66"開頭
db.spit.find({content:/^66/})
五.大於 小於 不等於
--格式:
db.集合名稱.find({ "field" : { $gt: value }}) // 大於: field > value
db.集合名稱.find({ "field" : { $lt: value }}) // 小於: field < value
db.集合名稱.find({ "field" : { $gte: value }}) // 大於等於: field >= value
db.集合名稱.find({ "field" : { $lte: value }}) // 小於等於: field <= value
db.集合名稱.find({ "field" : { $ne: value }}) // 不等於: field != value
--示例:
--查詢點贊大於900的
db.spit.find({thumbup:{$gt:900}})
六.包含不包含 多條件查詢
1.包含 不包含
包含使用 $in 操作符,不包含使用 $nin 操作符。
--示例:
--(1)查詢包含"小唐"和"小小"的文檔
db.spit.find({nickname:{$in:['小唐','小小']}})
--(2)查詢不包含"好心疼"的文檔
db.spit.find({nickname:{$nin:['好心疼']}})
2.條件連接
使用 $and 操作符將條件進行關聯,使用 $or 操作符表示或者關係。
--格式:
$and:[ { },{ },{ } ]
$or:[ { },{ },{ } ]
--示例:
--查詢點贊大於500小於1000的文檔
db.spit.find({$and:[{thumbup:{$gt:500}},{thumbup:{$lt:1000}}]})
七.自增列
使用 $inc 運算符,對某列進行增加或減少。
--示例:
db.spit.update({_id:ObjectId('5bb973888a275f3a8ee8a401')},{$inc:{thumbup:NumberInt(1)}})
暫時只接觸到這些基礎。