MongoDB下载安装测试及使用
1.下载安装 64位:mongodb-win32-x86_64-enterprise-windows-64-2.6.4-signed.msi http://downloads.mongodb.com/win32/mongodb-win32-x86_64-enterprise-windows-64-2.6.4-signed.msi?_ga=1.238525191.607472782.1411452026 32位:mongodb-win32-i386-2.6.5
1.下载安装
64位:mongodb-win32-x86_64-enterprise-windows-64-2.6.4-signed.msi
http://downloads.mongodb.com/win32/mongodb-win32-x86_64-enterprise-windows-64-2.6.4-signed.msi?_ga=1.238525191.607472782.1411452026
32位:mongodb-win32-i386-2.6.5.zip
https://fastdl.mongodb.org/win32/mongodb-win32-i386-2.6.5.zip?_ga=1.181732967.1708362836.1411364634
2.安装目录:
将应用安装到此目录下面:
D:\MongoDB\
3.新建目录
D:\MongoDB\data\db
D:\MongoDB\data\log
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath “D:\MongoDB\data\db”
5.测试连接
新开一个cmd窗口,进入MongoDB的bin目录,输入mongo或者mongo.exe,出现如下信息说明测试通过,此时我们已经进入了test这个数据库,如何进入其他数据库下面会说。
输入exit或者ctrl+C可退出。
6.当mongod.exe被关闭时,mongo.exe 就无法连接到数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序,所以比较麻烦,此时我们可以将MongoDB安装为windows服务
还是运行cmd,进入bin文件夹,执行下列命令
控制台执行命令:D:\MongoDB\bin>
mongod --dbpath "D:\MongoDB\data\db" --logpath "D:\MongoDB\data\log\MongoDB.log" --install --serviceName "MongoDB"
这里--MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB。
接着启动mongodb服务
> D:\MongoDB\bin>NET START MongoDB
打开任务管理器,可以看到进程已经启动
7.关闭服务和删除进程
> D:\MongoDB\bin>NET stop MongoDB (关闭服务)
>D:\MongoDB\bin>mongod --dbpath "D:\MongoDB\data\db" --logpath "D:\MongoDB\data\log\MongoDB.log" --remove --serviceName "MongoDB"
(删除,注意不是--install了)
二、使用mongodb
1.常用的命令
show dbs 显示数据库列表
use dbname 进入dbname数据库,大小写敏感,没有这个数据库也不要紧
show collections 显示数据库中的集合,相当于表格
2.创建&新增
db.users.save({"name":"lecaf"}) 创建了名为users的集合,并新增了一条{"name":"lecaf"}的数据
db.users.insert({"name":"ghost", "age":10}) 在users集合中插入一条新数据,,如果没有users这个集合,mongodb会自动创建
save()和insert()也存在着些许区别:若新增的数据主键已经存在,insert()会不做操作并提示错误,而save() 则更改原来的内容为新内容。
存在数据:{ _id : 1, " name " : " n1 "} ,_id是主键
insert({ _id : 1, " name " : " n2 " }) 会提示错误
save({ _id : 1, " name " : " n2 " }) 会把 n1 改为 n2 ,有update的作用。
3.删除
db.users.remove() 删除users集合下所有数据
db.users.remove({"name": "lecaf"}) 删除users集合下name=lecaf的数据
db.users.drop()或db.runCommand({"drop","users"}) 删除集合users
db.runCommand({"dropDatabase": 1}) 删除当前数据库
4.查找
db.users.find() 查找users集合中所有数据
db.users.findOne() 查找users集合中的第一条数据
5.修改
db.users.update({"name":"lecaf"}, {"age":10}) 修改name=lecaf的数据为age=10,第一个参数是查找条件,第二个参数是修改内容,除了主键,其他内容会被第二个参数的内容替换,主键不能修改,如图
三、高级应用
1.条件查找
db.collection.find({ "key" : value }) 查找key=value的数据
db.collection.find({ "key" : { $gt: value } }) key > value
db.collection.find({ "key" : { $lt: value } }) key
db.collection.find({ "key" : { $gte: value } }) key >= value
db.collection.find({ "key" : { $lte: value } }) key
db.collection.find({ "key" : { $gt: value1 , $lt: value2 } }) value1
db.collection.find({ "key" : { $ne: value } }) key value
db.collection.find({ "key" : { $mod : [ 10 , 1 ] } }) 取模运算,条件相当于key % 10 == 1 即key除以10余数为1的
db.collection.find({ "key" : { $nin: [ 1, 2, 3 ] } }) 不属于,条件相当于key的值不属于[ 1, 2, 3 ]中任何一个
db.collection.find({ "key" : { $in: [ 1, 2, 3 ] } }) 属于,条件相当于key等于[ 1, 2, 3 ]中任何一个
db.collection.find({ "key" : { $size: 1 } }) $size 数量、尺寸,条件相当于key的值的数量是1(key必须是数组,一个值的情况不能算是数量为1的数组)
db.collection.find({ "key" : { $exists : true|false } }) $exists 字段存在,true返回存在字段key的数据,false返回不存在字度key的数据
db.collection.find({ "key": /^val.*val$/i }) 正则,类似like;“i”忽略大小写,“m”支持多行
db.collection.find({ $or : [{a : 1}, {b : 2} ] }) $or或 (注意:MongoDB 1.5.3后版本可用),符合条件a=1的或者符合条件b=2的数据都会查询出来
db.collection.find({ "key": value , $or : [{ a : 1 } , { b : 2 }] }) 符合条件key=value ,同时符合其他两个条件中任意一个的数据
db.collection.find({ "key.subkey" :value }) 内嵌对象中的值匹配,注意:"key.subkey"必须加引号
db.collection.find({ "key": { $not : /^val.*val$/i } }) 这是一个与其他查询条件组合使用的操作符,不会单独使用。上述查询条件得到的结果集加上$not之后就能获得相反的集合。
2.排序
db.collection.find().sort({ "key1" : -1 ,"key2" : 1 }) 这里的1代表升序,-1代表降序
3.其他
db.collection.find().limit(5) 控制返回结果数量,如果参数是0,则当作没有约束,limit()将不起作用
db.collection.find().skip(5) 控制返回结果跳过多少数量,如果参数是0,则当作没有约束,skip()将不起作用,或者说跳过了0条
db.collection.find().skip(5).limit(5) 可用来做分页,跳过5条数据再取5条数据
db.collection.find().count(true) count()返回结果集的条数
db.collection.find().skip(5).limit(5).count(true) 在加入skip()和limit()这两个操作时,要获得实际返回的结果数,需要一个参数true,否则返回的是符合查询条件的结果总数

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

BitgetLaunchpool是一個為所有加密貨幣愛好者而設計的動態平台。 BitgetLaunchpool以其獨特的產品脫穎而出。在這裡,您可以質押您的代幣來解鎖更多獎勵,包括空投、高額回報,以及專屬早期參與者的豐厚獎金池。什麼是BitgetLaunchpool? BitgetLaunchpool是一個加密貨幣平台,可以透過使用者友善的條款和條件來質押和賺取代幣。透過在Launchpool中投入BGB或其他代幣,用戶有機會獲得免費空投、收益和參與豐厚的獎金池。質押資產的收益在T+1小時內計算,獎勵按

7月28日訊息,Arm架構CPU核心從2023年開始已強制採用64位,32位指令逐步淘汰。 2024年Google在安卓15上已對32位元應用進行了限制,意味著24年9月開始搭載安卓15的新機將無法安裝和使用32位元應用。為了更能提升安卓應用程式相容性體驗,避免在2024年下半年的新機上出現應用程式無法安裝使用的問題,安卓廠商都在要求開發者進行64位元適配。據介紹,2024年8月31日後,金標聯盟成員OPPO、vivo、小米、聯想四家將逐步清理商店32位應用,並針對不在架的32位應用實施相關風險提示等措施。截止至

.NET 4.0 用於創建各種應用程序,它為應用程式開發人員提供了豐富的功能,包括:物件導向程式設計、靈活性、強大的架構、雲端運算整合、效能最佳化、廣泛的程式庫、安全性、可擴展性、資料存取和行動開發支援。

本文介紹如何在Debian系統上配置MongoDB實現自動擴容,主要步驟包括MongoDB副本集的設置和磁盤空間監控。一、MongoDB安裝首先,確保已在Debian系統上安裝MongoDB。使用以下命令安裝:sudoaptupdatesudoaptinstall-ymongodb-org二、配置MongoDB副本集MongoDB副本集確保高可用性和數據冗餘,是實現自動擴容的基礎。啟動MongoDB服務:sudosystemctlstartmongodsudosys

日前,Google正式向符合資格的Pixel智慧型手機和平板電腦用戶推送了Android15Beta4更新,這標誌著Android15作業系統已邁入平台穩定階段,預示著其穩定版將在接下來的幾天內正式與全球用戶見面。同時,這項進展也為三星電子的Galaxy設備系列加速其OneUI7.0版本的開發過程注入了新的活力。 1.[Android15Beta4推廣三星OneUI7.0穩定建置](https://www.cnbeta.com/articles/tech/1427022.htm)隨著Android15Bet

本文介紹如何在Debian系統上構建高可用性的MongoDB數據庫。我們將探討多種方法,確保數據安全和服務持續運行。關鍵策略:副本集(ReplicaSet):利用副本集實現數據冗餘和自動故障轉移。當主節點出現故障時,副本集會自動選舉新的主節點,保證服務的持續可用性。數據備份與恢復:定期使用mongodump命令進行數據庫備份,並製定有效的恢復策略,以應對數據丟失風險。監控與報警:部署監控工具(如Prometheus、Grafana)實時監控MongoDB的運行狀態,並

透過使用Go語言的內建測試框架,開發者可以輕鬆地為他們的程式碼編寫和運行測試。測試檔以_test.go結尾,並包含Test開頭的測試函數,其中*testing.T參數表示測試實例。錯誤訊息使用t.Error()記錄。可以透過執行gotest指令來運行測試。子測試允許將測試函數分解成更小的部分,並透過t.Run()創建。實戰案例包括針對utils包中IsStringPalindrome()函數編寫的測試文件,該文件使用一系列輸入字串和預期輸出來測試函數的正確性。

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。
