成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nodejs使用mongoose 獲取mongodb 數(shù)據(jù)格式化問(wèn)題

Tamic / 2187人閱讀

摘要:說(shuō)明在中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是又或者語(yǔ)法最后得到都是對(duì)象,不能直接操作如同普通對(duì)象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問(wèn)題,見下面。

說(shuō)明

在mongodb 中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是Promise又或者generate 語(yǔ)法最后得到都是mongoose.Query對(duì)象,不能直接操作如同普通對(duì)象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問(wèn)題,見下面。

下面示例默認(rèn)使用co 和 es6 */yield 語(yǔ)法,當(dāng)然也可以使用async/await

1. 安裝mongoose
$ npm install mongoose co moment --save

說(shuō)明:
mongoose: mongodb 的nodejs 數(shù)據(jù)庫(kù)驅(qū)動(dòng)
co: 一個(gè)自動(dòng)執(zhí)行的generate函數(shù)容器
moment: 時(shí)間格式化

2. 處理數(shù)據(jù)

如下代碼:

// 省略鏈接數(shù)據(jù)庫(kù),詳情見文檔
const mongoose = require("mongoose")
const co = require("co")
const Schema = mongoose.Schema
const PersonSchema = new Schema({
    name: String,
    age: String,
    createAt: {
        type: Date,
        default: Date.now,
        get: v => moment(v).format("YYYY-MM-DD HH:mm")
    }
})

const PersonModel = mongoose.model("Person", PersonSchema) // 創(chuàng)建模型
const Person = new PersonModel() // 創(chuàng)建文檔對(duì)象
co(function * () {
    let person = yield Person.findOne({name: "zhengsan"})
    // 這里person 是一個(gè)mongoose.Query對(duì)象
    // 到這里一般直接使用person 就是一個(gè)對(duì)象能夠獲取{ name, type, createAt } 
    // 但是不能夠操作這三個(gè),除非多帶帶一個(gè)一個(gè)復(fù)制到另外一個(gè)對(duì)象,問(wèn)題就在這里?
})()

這里通過(guò) Object.keys(person)可以得到如下數(shù)據(jù):

[ "$__", "isNew", "errors", "_doc", "$init" ]
3. 得到普通對(duì)象

通過(guò)查詢mongoose 文檔最后得到解決辦法而且,可以輕松格式化哦:

// 接上面代碼
let person = yield Person.findOne({name: "zhangsan"})
person = person.toJSON({getters: true})
// 此時(shí)person對(duì)象對(duì)象
// { name: "zhengsan", age: 32, createAt: "2017-02-03 12:30" }

文章不對(duì)之處,歡迎指正...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88762.html

相關(guān)文章

  • nodejs使用mongoose 獲取mongodb 數(shù)據(jù)式化問(wèn)題

    摘要:說(shuō)明在中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是又或者語(yǔ)法最后得到都是對(duì)象,不能直接操作如同普通對(duì)象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問(wèn)題,見下面。 說(shuō)明 在mongodb 中獲取數(shù)據(jù),不管使用回調(diào)函數(shù)還是Promise又或者generate 語(yǔ)法最后得到都是mongoose.Query對(duì)象,不能直接操作如同普通對(duì)象一樣得到單行數(shù)據(jù)。還有就是時(shí)間格式化問(wèn)題,見下面。 下面示例默認(rèn)使用co 和...

    Ilikewhite 評(píng)論0 收藏0
  • 手把手教你開發(fā)nodejs微博網(wǎng)站-連接數(shù)據(jù)庫(kù)

    摘要:連接數(shù)據(jù)庫(kù)引子博客肯定是以用戶為中心,包括用戶的注冊(cè),用戶的登錄,用戶發(fā)表留言,對(duì)留言進(jìn)行評(píng)價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫(kù)。概念解析在中基本的概念是文檔集合數(shù)據(jù)庫(kù)。這兩種方式連接都需要,或者主機(jī)名字,數(shù)據(jù)庫(kù)名字,端口號(hào),配置項(xiàng)等。 連接數(shù)據(jù)庫(kù) 引子 博客肯定是以用戶為中心,包括用戶的注冊(cè),用戶的登錄,用戶發(fā)表留言,對(duì)留言進(jìn)行評(píng)價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫(kù)。 MongoDB M...

    waterc 評(píng)論0 收藏0
  • Nodejs Express 連接Mongodb

    摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開服務(wù)麻煩的話可以寫成一個(gè)批處理文件文件,寫上代碼安裝模 安裝MongoDB 下載mongodb 設(shè)置環(huán)境變量 將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4i...

    simon_chen 評(píng)論0 收藏0
  • Nodejs Express 連接Mongodb

    摘要:安裝下載設(shè)置環(huán)境變量將的安裝目錄的寫入環(huán)境變量啟動(dòng)服務(wù)控制臺(tái)輸入這后面的路徑便是數(shù)據(jù)集合的路徑服務(wù)啟動(dòng)成功提示監(jiān)聽的是端口,打開瀏覽器輸入,則會(huì)看到如下提示如果嫌每次輸入命令打開服務(wù)麻煩的話可以寫成一個(gè)批處理文件文件,寫上代碼安裝模 安裝MongoDB 下載mongodb 設(shè)置環(huán)境變量 將mongodb 的 安裝目錄的 E:Program FilesMongoDBServer3.4i...

    madthumb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<