映射(projection )聲明用來限制所有查詢匹配文檔的返回欄位。projection以文檔的形式列舉結果集中要包含或者排除的欄位。可以指定要包含的欄位(例如:{field:1})或者指定要排除的欄位(例如:{field:0})。預設_id是包含在結果集合中的,要從結果集中排除_id欄位,需要在projection中指定排除_id欄位({_id:0})。除了_id欄位,不能在一個projection中聯合使用包含和排除語意。返回匹配文檔的所有欄位:如果沒有指定projection,find(
一、索引基礎: MongoDB的索引幾乎與傳統的關係型資料庫一模一樣,這其中也包括一些基本的最佳化技巧。下面是建立索引的命令: 複製代碼 代碼如下: > db.test.ensureIndex({"username":1}) 可以通過下面的名稱查看索引是否已經成功建立: 複製代碼 代碼如下: >
Mongo DB ,是目前在IT行業非常流行的一種非關係型資料庫(NoSql),其靈活的資料存放區方式,備受當前IT從業人員的青睞。Mongo DB很好的實現了物件導向的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。Mongo DB最大的優勢在於所有的資料持久操作都無需開發人員手動編寫SQL語句,直接調用方法就可以輕鬆的實現CRUD操作。一、下載mongodb
MongoDB 是目前炙手可熱的 NoSQL 文檔型資料庫,它提供的一些特性很棒:如自動 failover 機制,自動 sharding,無模式 schemaless,大部分情況下效能也很棒。但是薄荷在深入使用 MongoDB 過程中,遇到了不少問題,下面總結幾個我們遇到的坑。特別申明:我們目前用的 MongoDB 版本是 2.4.10,曾經升級到 MongoDB 2.6.0 版本,問題依然存在,又回退到 2.4.10 版本。MongoDB
寫在前面本文已經假設你已經安裝好了Mongodb(2.6),並且已經開啟了auth。使用者首先我們添加備份和恢複資料所需的使用者,這個使用者需要有readWrite和userAdmin許可權複製代碼 代碼如下:$ mongo$ use admin$ db.auth("admin", "youradminpasswd");$ use backupdb$ db.addUser({ user: "backup", pwd: "passwd", roles: [ "readWrite",
1.首先在官網下載mongoDB的安裝包:http://www.mongodb.org/downloads這裡我們下載zip格式的下載,其他的沒安裝過,不會,就不說了.2.解壓檔案後:3.在D盤中建立檔案夾mongonDB:4.在mongonDB檔案夾中建立data和log檔案夾.一個是用來存放資料檔案,一個是用來存放日誌的.5.在把解壓後的整個bin檔案夾拷貝過來,放到mongonDB檔案夾中.6.設定path變數:在電腦上右擊-----屬性後:添加一個path變數值:";D:\mongoDB
每次啟動MongoDB時總是會收到如下 Unclean shutdown 提示,總結了一下出現該問題的原因及解決方案。提示如下:複製代碼 代碼如下:************** D:\GREENT~1\PowerCmd>mongod --auth -dbpath C:\mongo\MongoDB\mongo\dataWed May 16 16:06:50 Wed May 16 16:06:50 warning: 32-bit servers don't have journaling
緊接著上篇來,這篇主要講,mongodb的group功能,做的還是挺強大的,相當對於find(),skip(),distinct()等,用法比較複雜。測試資料:複製代碼 代碼如下:> db.fruit.find(); { "_id" : 1, "category" : "fruit", "name" : "apple" } { "_id" : 2, "category" : "fruit", "name" : "peach" } { "_id" : 3,
1. 複製Mongodb到指定伺服器到mongodb官方網站http://www.mongodb.org/downloads下載mongodb,解壓並將目錄考到需要安裝的伺服器上,然後進行配置。例如:複製代碼 代碼如下:[root@SHNHDX17-165 ~]# scp -r root@10.3.18.80:/data/web/dxm/mongodb/mongodb-linux-x86_64-2.4.5 data/web/會將mongodb目錄copy到10.11.17.165伺服器的
讀取db.collection.find()db.users.find( { age: {$gt: 18}}, {name: 1, address: 1}).limit(5).sort({age:1})users是collection名字,從users中尋找;age是query criteria,篩選結果,代表尋找name欄位的值比18大的;name是projection,篩選列(1代表存在,
這一篇我們以管理員的視角來看mongodb,作為一名管理員,我們經常接觸到的主要有4個方面:1. 安裝部署2. 狀態監控3. 安全認證4. 備份和恢複,下面我們就一點一點的講解。一:安裝部署
版本一: Field Example Value Explanation Host te.rzw.com:27018 運行執行個體所監聽的與連接埠 version 1.8.3 當前執行個體所使用的版本 Process mongod 當前執行個體是mongod,還是mongos Uptime
從這一篇開始我們主要討論mongodb的部署技術。 我們知道sql server能夠做到讀寫分離,雙機熱備份和叢集部署,當然mongodb也能做到,實際應用中我們不希望資料庫採用單點部署,如果碰到資料庫宕機或者被毀滅性破壞那是多麼的糟糕。 一:主從複製1: 首先看看模型圖 2: 從上面的圖形中我們可以分析出這種架構有如下的好處: <1>
mongodb的多伺服器配置,以前寫過一篇文章,是master-slave模式的,請參考:詳解mongodb 主從配置。master-slave模式,不能自動實現容錯移轉和恢複。所以推薦大家使用mongodb的replica set,來實現多伺服器的高可用。給我的感覺是replica
MongoDB資料庫功能強大!除了基本的查詢功能之外,還提供了強大的彙總功能。這裡簡單介紹一下count、distinct和group。1.count: --在空集合中,count返回的數量為0。 > db.test.count() 0 --測試插入一個文檔後count的傳回值。 > db.test.insert({"test":1}) > db.test.count() 1 > db.test.insert({
今天在用mongodb操作aggregation的時候出現這個問題,我是想格式化日期,例如”2013-10-17 04:41:37 UTC”變成”10月17日”,複製代碼 代碼如下:'fdate' => { '$concat' => ['$date.month', '月', '$date.day', '日'] }出現 exception: $concat only supports strings, not
1、以安全認證模式啟動複製代碼 代碼如下:bin/mongod?–auth?-dbpath /Users/mc2/mongo/db -logpath /Users/mc2/mongo/log.log &使用–auth選項啟動mongod進程即可啟用認證模式。或者,也可以修改/etc/mongodb.conf,設定auth=true,重啟mongod進程。2.添加使用者複製代碼 代碼如下:db.addUser(“admin”, “123456″)3.安全認證複製代碼
PHP利於學習,使用廣泛,主要適用於Web開發領域。MongoDB的主要目標是在鍵/值儲存方式(提供了高效能和高度伸縮性)以及傳統的RDBMS系統(豐富的功能)架起一座橋樑,集兩者的優勢於一身。在php中使用mongodb你必須使用 mongodb 的 php驅動。本文是小編在部署生產環境的時候簡單記錄。1. 下載PHP的mongodb驅動安裝包mongodb-1.1.9.tgzwget https://pecl.php.net/get/mongodb-1.1.9.tgz2.
一、相關代碼資料庫配置類 MongoDBConn.py複製代碼 代碼如下:#encoding=utf-8'''Mongo Conn串連類'''import pymongoclass DBConn: conn = None servers = "mongodb://localhost:27017" def
前些天,一位開發同事找到我,說他測試環境的 mongodb 經常掛掉,要我寫一個監控或複活的指令碼。我覺得很奇怪,測試環境又沒啥負載,經常掛掉肯定有非常規原因。跑過去看了一下日誌,發現存在stop記錄,我就納悶了,沒人操作他還會自己stop。這明顯不是掛掉了,於是到history中看了下同事的啟動命令:複製代碼 代碼如下:/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.