1: mongo入門命令
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)肇州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1.1: show dbs 查看當(dāng)前的數(shù)據(jù)庫
(admin是管理相關(guān)的,用戶操作、安全配置等需要切換到該數(shù)據(jù)庫下。local放其他數(shù)據(jù)庫的信息。test自己隨意。)
1.2 use databaseName 選庫
1.2 show tables/collections 查看當(dāng)前庫下的collection(表)
db.help()查看幫助
1.3 如何創(chuàng)建庫?
MongoDB的庫是隱式創(chuàng)建,你可以use 一個(gè)不存在的庫
然后在該庫下創(chuàng)建collection,即可創(chuàng)建庫
1.4 db.createCollection(‘collectionName’)
創(chuàng)建collection
1.5 collection允許隱式創(chuàng)建
Db.collectionName.×××ert(document);
例子:
db.user.×××ert({name:'lisi',age:18})
WriteResult({ "nInserted" : 1 })
db.user.×××ert({name:'zhangsan',age:22,gender:'male'})
WriteResult({ "nInserted" : 1 })
db.user.×××ert({name:'tingting',age:20,gender:'female',bobby:['sleep','shopping']})
WriteResult({ "nInserted" : 1 })
db.user.find();
{ "_id" : ObjectId("5c8ce520a8f7096660e878a3"), "name" : "lisi", "age" : 18 }
{ "_id" : ObjectId("5c8ce53aa8f7096660e878a4"), "name" : "zhangsan", "age" : 22, "gender" : "male" }
{ "_id" : ObjectId("5c8ce669a8f7096660e878a5"), "name" : "tingting", "age" : 20, "gender" : "female", "bobby" : [ "sleep", "shopping" ] }
(當(dāng)然可以自定義_id,但是......)
1.6 db.collectionName.drop() ,
刪除collection
1.7 db.dropDatabase(); (刪除當(dāng)前所在的數(shù)據(jù)庫)
刪除database
//選擇庫
use testing_base;
//創(chuàng)建表
db.createCollection("the_table");
//單個(gè)插入數(shù)據(jù)
db.getCollection("the_table").×××ert({"name":"張三","age":16,"address":"長安街"});
//批量插入數(shù)據(jù):
db.getCollection("the_table").×××ertMany([
{"name":"朱小二","age":20,"address":"北京"},
{"name":"張三瘋","age":50,"address":"湖北"},
{"name":"慕容嘿嘿","age":30,"address":"河北"}
])
//查詢?nèi)?/p>
db.the_table.find();
db.getCollection("the_table").find();
//查詢指定的
db.the_table.find({name:'我要改了他的名字'});
db.getCollection("the_table").find({"name":"張三","age":16});
//$gt:大于
//$gte:大于等于
//$lt:小于
//$lte:小于等于
//$ne:不等于
//大于等于
db.getCollection("the_table").find({"age":{"$gte":30}});
//大于等于20,小于等于30
db.getCollection("the_table").find({"age":{"$gte":20, "$lte":30}});
//查詢“age”大于21 并小于等于24 ,且“ name”不為“朱小二”的數(shù)據(jù)
db.getCollection("the_table").find({"age":{"$gt":21,"$lte":30},"name":{"$ne":"朱小二"}});
//db.getCollection('table_name').find(用于過濾記錄的字典,用于限定字段的字典)
//無特定設(shè)置則_id默認(rèn)會(huì)顯示
//如果不考慮“ id ”,則限定字段的字典里面的值只可能全都是0 或全都是1,不可能l和0混用,一旦混用則M ongoDB 就會(huì)報(bào)錯(cuò)
//不查詢字段address和age
db.getCollection("the_table").find({},{"address":0,"age":0});
//要求只返回name 字段和age 字段,則查詢語句如下:
db.getCollection("the_table").find({},{"address":1,"age":1});
//count的用法
db.getCollection("the_table").find({"age":{"$gt":10}}).count();
//限定返回結(jié)果limit (limit(1)默認(rèn)返回第一條)
db.getCollection("the_table").find().limit(1);
//對結(jié)果排序sort (字段的值為-l表示倒序,為l表示正序)
db.getCollection("the_table").find({"age":{"$gt":10}}).sort({"age":-1});
//更新操作
//? updateOne : 只更新第l 條滿足要求的數(shù)據(jù)。
//? updateMany : 更新所有滿足要求的數(shù)據(jù)。
//修改“ name ”為“ 張三瘋”的文檔, 添加“dizhi”字段(沒有就是添加),并把“age”宇段從“50”改為“123”
db.getCollection("the_table").updateMany({"name":"張三瘋"},{"$set":{"dizhi":"武當(dāng)","age":123}});
//刪除數(shù)據(jù)(將find替換為delete/deleteMany)
//慎用刪除功能,一般工程上會(huì)用邏輯刪除,如在文檔里加個(gè)del字段,為0表示刪除,1未刪除
//? “delete” (如果只刪除第1 條滿足要求的數(shù)據(jù))
//? “deleteMany” (如果要?jiǎng)h除所有滿足要求的數(shù)據(jù)〉
//刪除age為666的所有數(shù)據(jù)
db.getCollection("the_table").deleteMany({"age":666});
//數(shù)據(jù)去重
//db.getCollection('the_table').distinct(’字段名’,查詢語句的第一個(gè)字典)
//distinct()可以接收兩個(gè)參數(shù):
//? 第1 個(gè)參數(shù)為字段名, 表示對哪一個(gè)字段進(jìn)行去重。
//? 第2 個(gè)參數(shù)就是查詢命令" find()”的第l 個(gè)參數(shù)。distinct命令的第2個(gè)參數(shù)可以省略。
db.getCollection("the_table").distinct("name"); //(返回的值是一個(gè)數(shù)組,是去重以后的值)
//對age大于10的記錄的name字段去重
db.getCollection("the_table").distinct("name",{"age":{"$gt":10}});
//能否去重以后再帶上其他字段呢? 答案是,但用“ distinct() ”命令不能實(shí)現(xiàn)
新聞標(biāo)題:mongodb入門命令
文章路徑:http://www.chinadenli.net/article8/gcihop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)、小程序開發(fā)、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)