Node.js 手冊查詢-2-MongoDB數據庫方法

MongoDb

標籤(空格分隔): 數據庫 MongoDbjavascript


安裝

當前版本 2.X 解壓至任意目錄,最好不要是c盤. 在根目錄下創建一個文件夾用來存儲工程 個人例子: 安裝至: d:\mongodb 創建存儲目錄 d:\mongodb\blog 運行CMD,切入bin目錄 cd d:\mongodb\bin 啓用數據庫 mongod -dbpath d:\mongodb\blog 這樣就完畢了,若是關閉CMD,數據庫就會關閉. 創建一個快速啓動的bat文件,由於每次啓動服務器都是這樣的命令 啓動mongodb.bat: d:\mongodb\bin\mongod.exe -dbpath d:\mongodb\blog

Node.js 中使用

1. package.json dependencies對象中加入 "mongodb": "*" 2. 在工程目錄下運行 npm install 更新依賴文件 3. 引入

var Db = require(‘mongodb’).Db; var Connection = require(‘mongodb’).Connection; var Server = require(‘mongodb’).Server; // ‘blog’ 數據庫名稱 mongodb就是一個Db實例 var mongodb = new Db(‘blog’, new Server(‘localhost’, Connection.DEFAULT_PORT, {}));java

Db API

屬性: serverConfig 拓撲結構, 好比上面實例的 new Server(‘localhost’, Connection.DEFAULT_PORT, {}) bufferMaxEntries 數據庫當前緩衝區值 databaseName 當前數據庫名稱, 好比上面實例的’blog’mongodb

API: //將用戶添加到該數據庫 Db.addUser(username, password, options, callback) //刪除用戶 Db.removeUser(username, callback) //返回管理員數據庫實例 Db.admin() //驗證用戶 Db.authenticate(username, password, options, callback) //關閉鏈接 force布爾值,是否強制關閉 Db.close(force, callback) //取一個特定集合 Db.collection(name, options, callback) //獲取全部集合 Db.collections(callback) //建立一個集合 Db.createCollection(name, options, callback) //建立索引 Db.createIndex(name, fieldOrSpec, options, callback) //刪除集合 Db.dropCollection(name, callback) //刪除數據庫 Db.dropDatabase(callback) //獲取集合中的信息 Db.listCollections(name, options, callback) //打開數據庫 Db.open(callback) //登出數據庫 Db.logout(options, callback) //統計全部數據 Db.stats(options, callback)shell

通常使用流程: //打開數據庫 Db.open(function(err,db){ //讀取集合 db.collection(name,function(err,collection){ //在集合中插入數據 collection.insert({‘age’:21,‘email’:‘xxxx’}, {safe: true}, function(err, user){Db.close();}) })數據庫

})

collection API

API: //查詢匹配文檔的數目 count(query, options, callback) //建立索引 createIndex(fieldOrSpec, options, callback) //刪除多個文檔 deleteMany(filter, options, callback) //刪除一個文檔 deleteOne(filter, options, callback) //刪除集合 drop(callback) //刪除集合中的索引 dropAllIndexes(callback) //刪除指定索引 dropIndex(indexName, options, callback) //是否存在索引,不存在就建立 ensureIndex(fieldOrSpec, options, callback) //查詢 find(query) //查詢第一個 findOne(query, options, callback) //查找和替換文檔 findAndModify(query, sort, doc, options, callback) //查找並刪除 findAndRemove(query, sort, options, callback) //找到一個文件並刪除 findOneAndDelete(filter, options, callback) //找到一個文件並替換 findOneAndReplace(filter, replacement, options, callback) //找到一個文件並更新 findOneAndUpdate(filter, update, options, callback) //全部索引集合 indexes(callback) //檢查集合中是否存在索引 indexExists(indexes, callback) //獲取此集合的索引信息 indexInformation(options, callback) //批量寫 initializeOrderedBulkOp(options, callback)npm

//插入文檔到數據庫中 docs 對象或數組,  insert(docs, options, callback) 實例 inset({'a':1}, {w:1},function(err,data){}) //插入數組 insertMany(docs, options, callback) //插入一個單個文件 insertOne(doc, options, callback) //重建索引 reIndex(callback) //刪除文件 remove(selector, options, callback) //重命名集合 rename(newName, options, callback) //保存 save(doc, options, callback) //統計全部數據 stats(options, callback) //更新集合 update(selector, document, options, callback)

基礎

文檔

 多個鍵和值有序的放置在一塊兒即是文檔,基本數據單元 javascript 中,文檔表示爲對象. 每一個文檔都有一個 _id 的鍵,值在所處集合中是惟一的 有序的: (下面2個文檔徹底不一樣) {'title':'xueyou', 'Age':21} {'Age':21, 'title':'xueyou'} 語法: 鍵不能包含 \0 空字符, 這個字符表示鍵的結尾 .  $ 有特殊含義,一般保留 _ 開頭的鍵一般也要保留,雖然不強制 MongoDb區分類型也區分大小寫 文檔不能有重複的鍵

集合

 看作是表,多個文檔組成集合 語法: 不能包含 \0 空字符 不能使空串 "" 不能包含 $ 不能 system 開頭.系統保留 system.users存儲着數據庫內用戶的信息 system.namespaces 存儲着全部數據庫集合的信息

數據庫

 多個集合組成數據庫. 一個MongoDB實例能夠承載多個數據庫,每一個數據庫有獨立的權限 語法: 不能空串,所有小寫,最多64字節,不能特殊字符 由於數據庫名稱會變成系統的文件 數據庫保留名稱: admin - local - config

shell

 MongoDb 自帶javascript shell; 能夠運行任何javascript程序, DOM和瀏覽器模型不算 啓動數據庫, 進入bin 運行mongo 啓動shell 當前版本 2.6.5 默認鏈接 test 數據庫, 並將這個數據庫賦值給全局變量 db

API helo 獲取幫助 exit 退出shelljson

db.help() 查看數據庫的API db.foo.help() 查看集合的API //獲取集合 db.getCollection('集合名') //切換到 foobar數據庫,這個時候全局變量 db 就是foobar數據庫 switched to db foobar //插入一個文檔到集合中, db.集合名.insert db.blog.insert(對象) **查詢時shell默認最多顯示20個匹配文檔** //返回集合裏全部文檔 db.blog.find() //查看集合裏的一個文檔 db.blog.findOne() //更新文檔 db/blog.update({title:'aa'},文檔對象) //從數據庫永久刪除文檔,無參時刪除集合內全部文檔 db.blog.remove();

其餘

mongod.exe 啓動數據庫,沒參數的時候默認數據目錄在 c:\data\dbm 使用27017端口, 同時還會啓動一個HTTP服務器,監聽比端口號大1000的端口 28017端口. 訪問: http://localhost:28017 能夠獲取數據庫的管理信息
相關文章
相關標籤/搜索