摘要:更重要的是它將返回的字符串包裝成了對象,這在操作時要比直接使用字符串方便許多。今天就利用的官方文檔對它的標準操作進行簡單的分析。
NOSQL存儲作為一種與關(guān)系性數(shù)據(jù)庫完全不同的存儲方式,提供了靈活,大型,敏捷,可擴展的存儲模式,并且在有著復(fù)雜的數(shù)據(jù)情形下性能完全
不遜色于RDBMS,而作為NOSQL中流行程度較高的數(shù)據(jù)庫,mongodb有著上手容易,數(shù)據(jù)查詢方式多樣等諸多特點,所以也深受歡迎
今天說的mongoose是一種利用node模塊對mongodb數(shù)據(jù)庫進行操作的工具,它有著結(jié)構(gòu)化,操作性強,可重復(fù)的優(yōu)點。更重要的是它將mongodb返回的Json字符串包裝成了Json對象,這在操作時要比直接使用字符串方便許多。
今天就利用mongoose的官方文檔對它的標準操作進行簡單的分析。
?1. 獲取mongoose
var mongoose = require("mongoose");
?2 . 連接數(shù)據(jù)庫
mongoose.connect("mongodb://yourdb");
?3. 連接成功或發(fā)生error的事件觸發(fā)
var db = mongoose.connection; db.on("error", console.error.bind(console, "connection error:")); //連接失敗時的操作 db.once("open", function(){ //do something after connecting }) //連接成功時的操作
?4. 在mongoose中,所有事務(wù)都由Schema派生
1) 定義Schema var kittySchema = mongoose.Schema({ name: String }) 2) 將Schema轉(zhuǎn)換為Model var Kitten = mongoose.model("Kitten", kittySchema);
?5. 所有的事務(wù)都定義為model
var silence = new Kitten(name: "Silence");
?6. 在Schema中添加屬性和方法
kittySchema.methods.speak = function() { var greeting = this.name; ? "meow name is" + this.name : "i don"t have a name"; console.log(greeting); }//定義方法 var Kitten = mongoose.model("Kitten", kittySchema); var fluffy = new Kitten({ name: fluffy }); fluffy.speak();//使用方法
?7. 保存數(shù)據(jù)對象(如果發(fā)生錯誤時會返回,且the first arg是err)
fluffy.save(function(err, fluffy) { if(err) return console.error(err); fluffy.speak(); });
?8. 顯示所有數(shù)據(jù)對象(Kitten)
Kitten.find(function(err, Kittens) { //Kittens是查詢后得到的數(shù)據(jù)對象 if(err) return console.error(err); console.log(Kittens); })
?9. query method(舉例)
Kitten.find({ name: yourquery }, callback);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18852.html
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
摘要:的邏輯結(jié)構(gòu)是一種層次結(jié)構(gòu),主要由文檔集合數(shù)據(jù)庫這三部分組成的。文檔由鍵值對構(gòu)成,像等,它是核心單元,的文檔,相當于關(guān)系數(shù)據(jù)庫中的一行記錄。我們以此為例看它如何使用真實項目中參考學(xué)習(xí)筆記之的使用入門教程的一些操作命令 showImg(https://segmentfault.com/img/bVN45N?w=1192&h=578); 簡介 在說MongoDB數(shù)據(jù)插入操作之前,我們先來簡單...
摘要:如果不存在則創(chuàng)建新記錄。如果值為,執(zhí)行驗證。如果選項為,在新建時插入文檔定義的默認值。以模式進行更新。禁用模式,允許覆蓋記錄示例更新多個為的文檔將設(shè)置為更新多條數(shù)據(jù)與相同更新一條數(shù)據(jù)設(shè)置無效查找查詢條件控制返回的字段控制選項回調(diào)函數(shù)。 在使用node.js時,時常與之搭配的是mongoDB,一般我們不寫原生mongo語法,一個經(jīng)常使用的mongo庫便是mongoose,由于個人記性比較...
摘要:今天要說的是的方法,也就是數(shù)據(jù)更新語法參數(shù)表示查詢條件表示更新內(nèi)容表示更新的條件反饋函數(shù)選項值默認值默認在中進行值的設(shè)置如果沒有匹配項是否創(chuàng)建新文件是否更新多個文件是否對此次更新重寫值是否驗證更新的值在建立時,設(shè)置默認插入值允許對非更新選項 今天要說的是mongoose的update方法,也就是數(shù)據(jù)更新 語法: Model.update(conditions,doc,[options]...
閱讀 1275·2021-09-27 13:35
閱讀 2576·2021-09-06 15:12
閱讀 3392·2019-08-30 15:55
閱讀 2841·2019-08-30 15:43
閱讀 442·2019-08-29 16:42
閱讀 3454·2019-08-29 15:39
閱讀 3073·2019-08-29 12:28
閱讀 1251·2019-08-29 11:11