最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js對(duì)MongoDB數(shù)據(jù)庫(kù)實(shí)現(xiàn)模糊查詢的方法

 更新時(shí)間:2017年05月03日 10:00:45   作者:Conan  
模糊查詢是數(shù)據(jù)庫(kù)的基本操作之一,下面這篇文章主要給大家介紹了利用Node.js對(duì)MongoDB數(shù)據(jù)庫(kù)實(shí)現(xiàn)模糊查詢的方法教程,文中給出了詳細(xì)的介紹和示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。

前言

模糊查詢是數(shù)據(jù)庫(kù)的基本操作之一,實(shí)現(xiàn)對(duì)給定的字符串是否與指定的模式進(jìn)行匹配。如果字符完全匹配,可以用=等號(hào)表示,如果部分匹配可認(rèn)為是一種模糊查詢。在關(guān)系型數(shù)據(jù)中,通過(guò)SQL使用like ‘%fens%'的語(yǔ)法。那么在mongodb中我們應(yīng)該如何實(shí)現(xiàn)模糊查詢的效果呢。

目錄

  • mongodb模糊查詢
  • nodejs通過(guò)mongoose的模糊查詢

1. mongodb模糊查詢

我們打開(kāi)mongodb,以name文字字段進(jìn)行測(cè)試。

精確查詢

當(dāng){‘name':'未來(lái)警察'}時(shí),精確匹配到一條記錄。

db.movies.find({'name':'未來(lái)警察'})

模糊查詢

{‘name':/未來(lái)/},匹配到了多條記錄。

db.movies.find({'name':/未來(lái)/})

MongoDB的模糊查詢,其實(shí)是正則查詢的一種。

注:在關(guān)系型數(shù)據(jù)中,單獨(dú)有一個(gè)關(guān)鍵字like做模糊查詢,如果不用like,也可以在關(guān)系型數(shù)據(jù)中使用正則查詢。

MongoDB官方介紹:http://docs.mongodb.org/manual/reference/operator/regex/

官方舉例:

db.collection.find( { field: /acme.*corp/i } );
db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );

2. nodejs通過(guò)mongoose的模糊查詢

希望實(shí)現(xiàn)的效果:

下面說(shuō)說(shuō)如何用mongoose進(jìn)行模糊查詢。

使用mongoose訪問(wèn)mongodb,在 利用Mongoose讓JSON數(shù)據(jù)直接插入或更新到MongoDB 一文中已經(jīng)講過(guò)。

我們對(duì)Movie建模,并構(gòu)造dao層。

查詢所有電影

MovieDAO.prototype.findByName = function(query, callback) {
 Movie.findOne(query, function(err, obj){
 callback(err, obj);
 });
};

通過(guò)傳入query對(duì)象,就可以進(jìn)行查詢。

接下來(lái),構(gòu)造query對(duì)象

//代碼片斷
exports.movie = function(req, res) {
 var query={};
 if(req.query.m2) {
 query['name']=new RegExp(req.query.m2);//模糊查詢參數(shù)
 }

 Movie.findByName (query,function(err, list){
 return res.render('admin/movie', {movieList:list});
 });
}

請(qǐng)注意:剛才我們已經(jīng)分析了MongoDB的的模糊查詢是通過(guò)正則表達(dá)式實(shí)現(xiàn)的,對(duì)應(yīng)mongodb中,可以直接使用 ‘/../' 斜杠。

但是在nodejs中,必須要使用RegExp,來(lái)構(gòu)建正則表達(dá)式對(duì)象。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能

    nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • node使用Mongoose類庫(kù)實(shí)現(xiàn)簡(jiǎn)單的增刪改查

    node使用Mongoose類庫(kù)實(shí)現(xiàn)簡(jiǎn)單的增刪改查

    Mongoose是在nodejs環(huán)境中對(duì)MongoDB數(shù)據(jù)庫(kù)操作的封裝,這篇文章主要介紹了node使用Mongoose類庫(kù)實(shí)現(xiàn)簡(jiǎn)單的增刪改查,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • NodeJS?Express使用ORM模型訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)流程詳解

    NodeJS?Express使用ORM模型訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)流程詳解

    這篇文章主要介紹了NodeJS?Express使用ORM模型訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • koa+mongoose實(shí)現(xiàn)簡(jiǎn)單增刪改查接口的示例代碼

    koa+mongoose實(shí)現(xiàn)簡(jiǎn)單增刪改查接口的示例代碼

    這篇文章主要介紹了koa+mongoose實(shí)現(xiàn)簡(jiǎn)單增刪改查接口的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • 用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))

    用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))

    下面小編就為大家?guī)?lái)一篇用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • Node實(shí)現(xiàn)搜索框進(jìn)行模糊查詢

    Node實(shí)現(xiàn)搜索框進(jìn)行模糊查詢

    這篇文章主要為大家詳細(xì)介紹了Node實(shí)現(xiàn)搜索框進(jìn)行模糊查詢,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • MQTT Client實(shí)現(xiàn)消息推送功能的方法詳解

    MQTT Client實(shí)現(xiàn)消息推送功能的方法詳解

    這篇文章主要介紹了MQTT Client實(shí)現(xiàn)消息推送功能的方法,結(jié)合實(shí)例形式詳細(xì)分析了MQTT Client實(shí)現(xiàn)消息推送的基本原理、實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2023-05-05
  • 詳細(xì)談?wù)凬odeJS進(jìn)程是如何退出的

    詳細(xì)談?wù)凬odeJS進(jìn)程是如何退出的

    這篇文章主要給大家介紹了關(guān)于NodeJS進(jìn)程是如何退出的相關(guān)資料,主要介紹了導(dǎo)致進(jìn)程退出的三個(gè)因素:主動(dòng)退出;未捕獲的異常、未處理的 promise rejection;未處理的 Event Emitter error 事件 系統(tǒng)信號(hào),需要的朋友可以參考下
    2021-07-07
  • Node.js中創(chuàng)建和管理外部進(jìn)程詳解

    Node.js中創(chuàng)建和管理外部進(jìn)程詳解

    這篇文章主要介紹了Node.js中創(chuàng)建和管理外部進(jìn)程詳解,本文講解了執(zhí)行外部命令的方法、子進(jìn)程相關(guān)內(nèi)容等,需要的朋友可以參考下
    2014-08-08
  • nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類示例

    nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類示例

    這篇文章主要介紹了nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類,涉及nodejs操作redis進(jìn)行緩存設(shè)置相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02

最新評(píng)論

金昌市| 临西县| 沾益县| 枣庄市| 怀安县| 宝坻区| 大田县| 民县| 娱乐| 长葛市| 崇文区| 泰安市| 高台县| 全椒县| 阿拉善右旗| 汨罗市| 青海省| 容城县| 河津市| 宝清县| 屏东市| 汝城县| 永州市| 张北县| 灵山县| 突泉县| 重庆市| 涞水县| 江西省| 曲周县| 樟树市| 黄陵县| 阿勒泰市| 宣威市| 沈阳市| 凭祥市| 新泰市| 鲁甸县| 台南市| 秀山| 武鸣县|