日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mongodb 查询 mysql_MongoDB 基本查询使用

發(fā)布時間:2025/5/22 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 查询 mysql_MongoDB 基本查询使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

剛才前面發(fā)了Windows下安裝使用MongoDB數(shù)據(jù)庫,覺得就這樣多吊人胃口啊,所以就順便把一些基本的查詢方法寫出來,供大家參考學習,如果寫的有不對的地方還請多多批評。

我想看過前面寫的"Windows下MongoDB的安裝使用"的文章的應該知道怎么打開數(shù)據(jù)庫了!現(xiàn)在我們就從這里接著講!還有一點就是我的版本目前是2.0.4的哦!但是我看過很多方法在各個版本上還是通用的!

補充下哈:在開始之前我要強調(diào)一個重點!文檔就是一條數(shù)據(jù)意思,集合就是表的意思,默認監(jiān)聽端口是27017,mongodb是使用javascript交互的,不錯你沒有看錯,就是javascript(前面有提到哦),這些在后面慢慢的深入中會發(fā)現(xiàn)如果會了javascript學習mongodb是多么上手的一件事!下面開始:

使用之前別忘記先啟動服務

1.show dbs

這個可以顯示當前的實例下所有數(shù)據(jù)庫的列表!不同的版本有不同的案例數(shù)據(jù)庫!2.0.4的是local,并且是一個空的數(shù)據(jù)庫!

2.use myFirst

myFirst是我創(chuàng)建的!如果你不創(chuàng)建的話,那么這句就可以隱式的幫你創(chuàng)建myFirst數(shù)據(jù)庫,use myFirst也就是使用這個數(shù)據(jù)庫的意思!現(xiàn)在應該沒有數(shù)據(jù)庫,那么我們就插入數(shù)據(jù)進行學習測試。

3.db.test1.save({"name":"qlier", age:21, "sex":"male"});

test1這個表也會隱式的被創(chuàng)建,并且插入一條文檔 ,文檔有name,age,sex。下面我們在用另外一種方法插入一條數(shù)據(jù)。

4.db.test1.insert({"name":"tom", age:19, "sex":"male"});

在test1中插入數(shù)據(jù),可能你會問insert和save有什么不同,他們還真的有點不同!

insert僅僅是插入文檔到集合中,如果記錄不存在則插入,如果記錄存在則忽略

save是在文檔不存在時插入,存在時則是更新

5.db.test1.find();

這個可以查詢test1集合中所有的數(shù)據(jù)。所有的文檔都有_Id這一列,這個是主鍵,是系統(tǒng)生成唯一的主鍵,不過我們也可以自己來操作,怎么操作就自己動動腦子了,不過自己操作的時候可千萬不能有重復的值,要不會有異常。

6.db.test1.findOne();

這個查詢test1集合中最上面一條數(shù)據(jù)并顯示。

7.db.test1.find({name:"qlier"});

查詢name是qlier的文檔。

8.db.test1.update({name:"tom"}, {$set:{name:"Jim"}});

修改名稱tom為Jim,這個是修改的方法。

9.db.test1.remove({name:"Jim"});

這個是刪除name為Jim!

這些都是最最基本的增刪改查了,下面將重點講解查詢!表test2是在我電腦上創(chuàng)建過的,就name, age, sex,和test1一樣。

10.條件操作符、>=

db.test2.find({age:{$gt:20}});

查詢年齡大于12歲的用戶,如此的還有$lt小于、$gte大于等于、$lte小于等于。

11.$all匹配所有

db.test2.find({age:{$all:[8]}});

他會匹配所有age等于8的文檔。

12.$exists判斷字段是否存在

db.test2.find({age:{$exists:true}});

查詢所有存在age字段的文檔。false表示不存在。

13.$mod取模運算

db.test2.find({age:{$mod:[10, 1]}});

查詢所有age模10等于1的文檔。

14$ne不等于

db.test2.find({age: {$ne : 20}});

查詢所有年齡不等于20的用戶文檔。

15.$in包含

db.test2.find({age : { $in : [20, 21, 22]}});

查詢所有年齡等于20、21、22的用戶文檔。

16$nin不包含

db.test2.find({age : {$nin : [20, 21, 22]}});

查詢所有年齡不等于20、21、22的用戶文檔。

17.count查詢記錄條數(shù)

db.test2.find().count();

返回test2集合中文檔記錄的數(shù)目。

18.limit限制顯示的條數(shù)

db.test2.find().limit(5);

返回test2中上面的5條記錄。

19.skip限制返回記錄的起點

db.test2.find().skip(3);

返回test2中上面數(shù)第三條數(shù)據(jù)一下的所有數(shù)據(jù)

20.分頁的實現(xiàn)

db.test2.find().skip(1).limit(5);

返回從第二條數(shù)據(jù)開始,顯示5條數(shù)據(jù),這個可以用作分頁,很簡單就實現(xiàn)了!

21.sort排序

db.test2.find().sort({age:1});

所有的數(shù)據(jù)按年齡大小升序(asc)排列,既然1表示asc排列,那么-1就表示desc排列,這是真的。

22.distinct去掉重復值

db.test2.find().distinct("name");

按name的重復值篩選數(shù)據(jù)。

今天就寫到這里,這些都是很常用的基本的查詢操作,至于是否有更復雜的查詢呢,肯定是有了,包括group查詢、聯(lián)合查詢、正則表達式查詢、null值的處理等!只不過這些在后面都會有提到的。

同學們看到這里應該可以在我們非常喜歡的Node.js中試一試了,體驗Mongodb帶給我們的更多驚喜。

后面還會繼續(xù)講怎么自動啟動服務、日志記錄、存儲過程等等。供大家一起參考學習,如果寫的不對的地方還請多多指出批評哦。

來源:CIT.CN

總結(jié)

以上是生活随笔為你收集整理的mongodb 查询 mysql_MongoDB 基本查询使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。