MongoDB實(shí)現(xiàn)創(chuàng)建刪除數(shù)據(jù)庫、創(chuàng)建刪除表(集合 )、數(shù)據(jù)增刪改查
一、 數(shù)據(jù)庫使用
開啟 mongodb 服務(wù):要管理數(shù)據(jù)庫,必須先開啟服務(wù),開啟服務(wù)使用
mongod --dbpath c:\mongodb

管理 mongodb 數(shù)據(jù)庫:(一定要在新的 cmd 中輸入)
mongo
清屏:
cls
查看所有數(shù)據(jù)庫列表
show dbs
二、 創(chuàng)建數(shù)據(jù)庫

使用數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫
use student
如果真的想把這個(gè)數(shù)據(jù)庫創(chuàng)建成功,那么必須插入一個(gè)數(shù)據(jù)。
數(shù)據(jù)庫中不能直接插入數(shù)據(jù),只能往集合(collections)中插入數(shù)據(jù)。不需要專門創(chuàng)建集合,只
需要寫點(diǎn)語法插入數(shù)據(jù)就會(huì)創(chuàng)建集合:
插入一條數(shù)據(jù)
db.student.insert({“name”:”xiaoming”});db.student 系統(tǒng)發(fā)現(xiàn) student 是一個(gè)陌生的集合名字,所以就自動(dòng)創(chuàng)建了集合。
顯示當(dāng)前的數(shù)據(jù)集合(mysql 中叫表)
show collections
刪除數(shù)據(jù)庫,刪除當(dāng)前所在的數(shù)據(jù)庫
db.dropDatabase();
刪除集合,刪除指定的集合 刪除表
刪除集合
db.COLLECTION_NAME.drop() db.user.drop()
三、插入(增加)數(shù)據(jù)
插入數(shù)據(jù),隨著數(shù)據(jù)的插入,數(shù)據(jù)庫創(chuàng)建成功了,集合也創(chuàng)建成功了。
db. 表名.insert({"name":"zhangsan"}); student 集合名稱(表)四、查找數(shù)據(jù)
1 、查詢所有記錄
db.userInfo.find();
相當(dāng)于:select* from userInfo;
2 、查詢?nèi)サ艉蟮漠?dāng)前聚集集合中的某列的重復(fù)數(shù)據(jù)
db.userInfo.distinct("name");會(huì)過濾掉 name 中的相同數(shù)據(jù)
相當(dāng)于:select distict name from userInfo;
3 、查詢 age = 22 的記錄
db.userInfo.find({"age": 22});相當(dāng)于: select * from userInfo where age = 22;
4 、查詢 age > 22 的記錄
db.userInfo.find({age: {$gt: 22}});相當(dāng)于:select * from userInfo where age >22;
5 、查詢 age < 22 的記錄
db.userInfo.find({age: {$lt: 22}});相當(dāng)于:select * from userInfo where age <22;
6 、查詢 age >= 25 的記錄
db.userInfo.find({age: {$gte: 25}});相當(dāng)于:select * from userInfo where age >= 25;
7 、查詢 age <= 25 的記錄
db.userInfo.find({age: {$lte: 25}});8 、查詢 age >= 23 并且 age <= 26 注意書寫格式
db.userInfo.find({age: {$gte: 23, $lte: 26}});9 、查詢 name 中包含 mongo 的數(shù)據(jù) 模糊查詢用于搜索
db.userInfo.find({name: /mongo/});相當(dāng)于:%%select * from userInfo where name like ‘%mongo%’;
10 、查詢 name 中以 mongo 開頭的
db.userInfo.find({name: /^mongo/});相當(dāng)于:select * from userInfo where name like ‘mongo%’;
11 、查詢指定列 name 、age 數(shù)據(jù)
db.userInfo.find({}, {name: 1, age: 1});相當(dāng)于:select name, age from userInfo;
當(dāng)然 name 也可以用 true 或 false,當(dāng)用 ture 的情況下河 name:1 效果一樣,如果用 false 就是排除 name,顯示 name 以外的列信息。
12 、查詢指定列 name 、age 數(shù)據(jù), age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});相當(dāng)于:select name, age from userInfo where age >25;
13 、按照年齡排序 1 升序 -1 降序
升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1});14 、查詢 name = zhangsan, age = 22 的數(shù)據(jù)
db.userInfo.find({name: 'zhangsan', age: 22});相當(dāng)于:select * from userInfo where name = ‘zhangsan’ and age = ‘22’;
15 、查詢前 5 條數(shù)據(jù)
db.userInfo.find().limit(5);
相當(dāng)于:selecttop 5 * from userInfo;
16 、查詢 10 條以后的數(shù)據(jù)
db.userInfo.find().skip(10);
相當(dāng)于:select * from userInfo where id not in ( select top 10 * from userInfo );
五、刪除數(shù)據(jù)
db.collectionsNames.remove( { "borough": "Manhattan" } )
db.users.remove({age: 132});
By default, the remove() method removes all documents that match the remove condition. Use
the justOne option to limit the remove operation to only one of the matching documents.
db.restaurants.remove( { "borough": "Queens" }, { justOne: true }以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Win10 安裝 MongoDB 3.6.5 失敗的問題及解決方法
這篇文章主要介紹了Win10 安裝 MongoDB 3.6.5 失敗的問題及解決方法,需要的朋友可以參考下2018-05-05
MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法
這篇文章主要介紹了MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法,當(dāng)我們對(duì)數(shù)據(jù)出現(xiàn)誤操作的時(shí)候,可以利用oplog恢復(fù)數(shù)據(jù),下文操作過程需要的小伙伴可以參考一下2022-04-04
關(guān)于NoSQL之MongoDB的一些總結(jié)
這篇文章主要介紹了關(guān)于NoSQL之MongoDB的一些總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-07-07
MongoDB錯(cuò)誤32-bit servers don''t have journaling enabled by de
這篇文章主要介紹了MongoDB錯(cuò)誤32-bit servers don't have journaling enabled by default解決方法,需要的朋友可以參考下2014-10-10
關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題
這篇文章主要介紹了關(guān)于MongoTemplate通過id查詢?yōu)閚ull的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
MongoDB??數(shù)據(jù)模型的設(shè)計(jì)模式及優(yōu)缺點(diǎn)
這篇文章主要介紹了MongoDB??數(shù)據(jù)模型的設(shè)計(jì)模式,在實(shí)際開發(fā)中,大多數(shù)性能問題都可以追溯到糟糕的模型設(shè)計(jì),官方也提供分享過文檔模型設(shè)計(jì)的進(jìn)階技巧,這里簡單翻譯記錄一下,需要的朋友可以參考下2022-12-12

