MongoDB簡介 基於分散式文件存儲的開源資料庫系統 將數據存儲為一個文檔,文檔類似於Json格式 MongoDB進入與退出 進入:mongo 退出:exit 庫級操作 顯示所有庫: show dbs 切換/創建資料庫: use 資料庫名稱 查看所在庫: db 刪除庫:db.dropDatabas ...
MongoDB簡介
- 基於分散式文件存儲的開源資料庫系統
- 將數據存儲為一個文檔,文檔類似於Json格式
MongoDB進入與退出
- 進入:mongo
- 退出:exit
庫級操作
- 顯示所有庫: show dbs
- 切換/創建資料庫: use 資料庫名稱
- 查看所在庫: db
- 刪除庫:db.dropDatabase() -- 切換到要刪除的資料庫里進行刪除
集合操作
- 顯示當前資料庫的集合: show collections
- 創建集合: db.createCollection( '集合名稱' )
- 刪除集合: db.集合名稱.drop() -- 返回 true 或 false
文檔操作
添加文檔(數據) db.集合名稱.insert(document)
- 每一條數據,就是一個document,就是一條json
- 添加文檔時,如果不指定_id參數,MongoDB會為文檔分配一個唯一的ObjectId
- 例: db.student.insert({'_id':1, name:'xiaoming', age:18})
- 添加多條文檔
- 例: db.student.insert( [ { } , { } , ... ] )
- 例: db.student.insert( [ { } , { } , ... ] )
刪除文檔(數據) db.集合名稱.remove(<query>, {justOne:})
- 刪除集合中所有的文檔:db.table.remove( {} )
- 刪除集合中滿足條件的所有文檔:db.table.remove({sex: '男'})
- 只刪除集合中滿足條件的第一條文檔: { justOne: true }
- 例: db.table.remove({sex:'男'}, { justOne:true} )
- 例: db.table.remove({sex:'男'}, { justOne:true} )
修改文檔(數據) db.集合名稱.update(<query>, <update>, {multi:<boolean>})
- 修改一條數據: db.table.update({name:'xiaoming'}, {age:20})--(只有age,沒有name了,整條數據變成<update>里的內容)
- 指定屬性修改: { $set: {age:20} }
- 例: db.table.update({name:'xiaoming'}, {$set: {age:666, sex: 'xx'}} )
- 更新集合中所有滿足條件的文檔: { multi: true }
- 例: db.table.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )
- 例: db.table.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )
查詢文檔(數據) db.集合名稱.find([conditions])
- 查看集合中全部數據: db.student.find()
- 格式化顯示: db.student.find().pretty()
- 查看滿足條件的數據: db.student.find({name:'xiaoming'})
噩夢條件
- and條件
- {$and:[{expression1}, {expression1}, ...] }
- or條件
- { $or : [ { } , { }, ...] }
- and和or混用
- db.table.find( {$or:[ {$and:[{sex:'女'}, {age:18}]} , {$and:[{sex:'男'}, {age:{$gt:18}}]} ] } )
- db.table.find( { $or : [ { $and:[ { } , { } ] } , { $and:[ { } , { } ] } ] } )
- 操作符
- $ne:不等於
- \(gt :\)gt
- $lt :小於
- $gte:大於等於
- $lte :小於等於
- 例:db.user.find( { 'age' : {'$ne': 45 } } )