摘要:安裝然后,我們需要將引入我們的項(xiàng)目中,使用連接我們?cè)诒镜剡\(yùn)行實(shí)例名為數(shù)據(jù)庫(kù)。在連接到本地的數(shù)據(jù)庫(kù),我們需要知道連接的是否成功在中,全部來(lái)源于那么,到目前為止,我們創(chuàng)建了一個(gè)只有一個(gè)屬性值為類型的的。
起步
首先先確定MongoDB和Node.js已經(jīng)安裝。安裝Mongoose:
npm install mongoose
然后,我們需要將mongoose引入我們的項(xiàng)目中,使用mongoose連接我們?cè)诒镜剡\(yùn)行MongoDB實(shí)例名為test數(shù)據(jù)庫(kù)。
//getting-started.js var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/test");
在連接到本地的test數(shù)據(jù)庫(kù),我們需要知道連接的是否成功:
var db = mongoose.connection; db.on("error", function(){}) db.on("open", function(callback) {})
在Mongoose中,全部來(lái)源于Schema:
var kittySchema = mongoose.Schema({ name: String })
那么,到目前為止,我們創(chuàng)建了一個(gè)只有一個(gè)name屬性,值為String類型的的Schema。下一步,將我們的Schema編輯到一個(gè)Model中:
var KittenModel = mongoose.model("kitten", kittySchema )
Modal是一個(gè)我們創(chuàng)建文檔的類。既然這樣,每一個(gè)文檔將會(huì)是一個(gè)帶有屬性和行為方法的對(duì)象在我們的模式聲明中。
var slience = new KittenModel({name: "Slience"}); console.log(slience.name) //"Slience"
接下來(lái)我們給該文檔添加一個(gè)方法:
kittySchema.methods.speak=function(){ var greeting = this.name ? "Meow name is " + this.name : "dont have a name" console.log(greeting) } var kittenModel = mongoose.model("Kitten", kittySchema) var flutty = new KittenModel({name: "Fluffy"}) flutty.speak() // "Meow name is Fluffy"
接下來(lái),我們來(lái)了解一下如何在MongoDB中存入一些東西,每一個(gè)文檔可以將數(shù)據(jù)存入數(shù)據(jù)庫(kù)通過(guò)調(diào)用save()方法, 它的回調(diào)函數(shù)第一個(gè)參數(shù)是error:
flutty.save(function(err, flutty) { if(err) return flutty.speak() })
如果我們想要展示我們所看見(jiàn)的kitten,我們可以通過(guò)kitten的model來(lái)訪問(wèn)所有的kitten文檔。
KittenModel.find(function(err, kittens) { if(err) return console.log(err); console.log(kittnes) })
我們通過(guò)console打印出我們?cè)跀?shù)據(jù)庫(kù)中所有的kitten,如果我們想通過(guò)name屬性過(guò)濾出特定的,Mongoose支持這種查詢語(yǔ)法:
KittenModel.find({name: /^Fluff/, callback})
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/19245.html
摘要:文章接續(xù)再認(rèn)識(shí)一,下文中使用代碼可參考這篇文章中的。這也是它存在的意義。注在使用操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí)一定要注意,要操作的時(shí)或返回的一整條數(shù)據(jù),如果是實(shí)例化了一個(gè),則會(huì)造成數(shù)據(jù)庫(kù)中的數(shù)據(jù)丟失。系列文章再認(rèn)識(shí)一再認(rèn)識(shí)二再認(rèn)識(shí)三 在開(kāi)發(fā)中,除了使用mongoose進(jìn)行一些基本的操作外,就是一些技巧的使用。 文章接續(xù)mongoose再認(rèn)識(shí)(一),下文中使用代碼可參考這篇文章中的。 虛擬字段 虛...
摘要:前言要做一個(gè)全沾的工程師,對(duì)于后端和數(shù)據(jù)庫(kù)來(lái)說(shuō),即使不認(rèn)識(shí)也要見(jiàn)個(gè)面的。基本了解的概念就好,主要是安裝上數(shù)據(jù)庫(kù),并進(jìn)行簡(jiǎn)單的增刪操作。 前言:要做一個(gè)全沾的工程師,對(duì)于后端和數(shù)據(jù)庫(kù)來(lái)說(shuō),即使不認(rèn)識(shí)也要見(jiàn)個(gè)面的。本文給的例子很簡(jiǎn)單,也貼出來(lái)源碼,只要一步步下來(lái),就可以跑起來(lái)啦~~~ 思考一個(gè)需求:做一個(gè)登錄頁(yè)面,自己搭建服務(wù)和數(shù)據(jù)庫(kù),將用戶輸入的登錄信息保存到數(shù)據(jù)庫(kù)如何完成呢:首先選擇...
摘要:開(kāi)始之前,沒(méi)什么比過(guò)一遍官方文檔更有必要的了是啥有啥用是操作的一個(gè)對(duì)象模型庫(kù)它封裝了對(duì)文檔操作的常用處理方法增刪改查,讓操作數(shù)據(jù)庫(kù)變得快捷靈活。由創(chuàng)建的實(shí)體,可操作數(shù)據(jù)庫(kù)。 開(kāi)始之前,沒(méi)什么比過(guò)一遍官方文檔更有必要的了:http://mongoosejs.com/ mongoose 是啥?有啥用?mongoose 是操作 MongoDB 的一個(gè)對(duì)象模型庫(kù);它封裝了MongoDB對(duì)文檔操...
摘要:文檔是的核心概念,是鍵值對(duì)的一個(gè)有序集,在里文檔被表示成對(duì)象。創(chuàng)建集合數(shù)據(jù)庫(kù)中的集合名稱當(dāng)我們對(duì)其添加數(shù)據(jù)時(shí)如果已經(jīng)存在,則會(huì)保存到其目錄下,如果未存在,則會(huì)創(chuàng)建集合,然后在保存數(shù)據(jù)。使用創(chuàng)建,如下示例連接成功許巍男保存成功保存失敗參考 mongoose簡(jiǎn)介 mongoose網(wǎng)站:https://mongoosejs.com/ 為什么要用Mongoose Mongoose就是一個(gè)讓我們...
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
閱讀 3715·2021-11-19 09:40
閱讀 3167·2019-08-30 15:54
閱讀 2370·2019-08-30 15:44
閱讀 3257·2019-08-29 15:35
閱讀 3390·2019-08-29 12:22
閱讀 2917·2019-08-28 18:01
閱讀 3208·2019-08-26 13:54
閱讀 970·2019-08-26 12:24