国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

mongoose復雜查詢

wdzgege / 1554人閱讀

摘要:的一些高級用法中文移民的用法在中沒有關聯查詢這一說,因此必須就要先設置好相關聯的對象比如,我們在中就就先定義一個對象時間價格區域而后使用把相關聯的查詢出來當然,也是支持內嵌數組對象的你可以把他定義為復雜查詢以下是一個復雜查詢,基本包括了所

mongoose的一些高級用法:

1 populate(中文:移民)的用法
在mongodb中沒有關聯查詢這一說,因此必須就要先設置好相關聯的對象
比如,我們在ZonePrice中就就先定義一個Zone對象

var ZonePriceSchema = new mongoose.Schema({
    
    zone:{type:ObjectId, ref:"Zone"},
    time: String,      //時間
    price: Number,       //價格
    district:String,   //區域
})

而后使用populate把相關聯的zone查詢出來

ZonePrice.find({})
         .populate({ 
            path:"zone",
            match:{priceRate:{$gt:0}},
            options:{ limit:pageSize,
            skip:(pageNum-1)*pageSize }
})

當然,mongoose也是支持內嵌數組對象的
你可以把他定義為

someSchema({
...
ofObjectId: [Schema.Types.ObjectId],
...
})

2 復雜查詢
以下是一個復雜查詢,基本包括了所有的查詢用法

 Person
      .find({ occupation: /host/ }) 
      .where("name.last").equals("Ghost")   // Person.name.last是Ghost
      .where("age").gt(17).lt(66)  // 17 < Person.age <66
      .where("likes").in(["vaporizing", "talking"])//likes是vaporizing或者talking
      .limit(10)  //限制10條記錄
      .sort("-occupation")  //根據occupation的倒序排
      .select("name occupation") //選擇name和occupation字段
      .exec(callback);

3 模糊匹配

有時候在項目中需要搜索功能,而搜索功能的實現必須用模糊匹配,這個時候可以使用or進行多字段匹配,但速度比較慢,大系統最好使用專業的搜索方法

or表示在數組里的條件滿足一個即可,$regex表示一個正則表達式,匹配了key,同時,加入了$option的$i表示忽略大小寫

Job.find({
        $or: [
          {"description": {"$regex": key, $options: "$i"}},
          {"city": {"$regex": key, $options: "$i"}},
          {"name": {"$regex": key, $options: "$i"}}]
      })
      .populate("JobType", "name")
      .exec(function (err, jobs) {
        if (err) {
          callback(err);
        } else {
          callback(null, jobs);
        }
      })

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18865.html

相關文章

  • Mongoose增查改刪學習筆記

    摘要:查詢條件控制返回的字段控制選項回調函數。改查詢條件需要修改的數據,不能修改主鍵控制選項回調函數,返回的是受影響的行數。執行查詢,回調函數。使用鏈式語句時,可以在之后接執行查詢,并指定回調函數。 初學Node.js接觸到MongoDB數據庫,閱讀資料中推薦的都是Mongoose模塊,可以更加方便的對數據庫進行操作,便開始接觸Mongoose。在學習時碰到許多基礎問題,查閱了許多資料理來理...

    lookSomeone 評論0 收藏0
  • 在node中的mongodb及mongoose常見用法

    摘要:是在環境下對進行便捷操作的對象模型工具安裝一開始需要安裝環境以及數據庫,然后創建數據文件夾并且啟動安裝啟動。出錯返回符合條件的文檔數。修改后的標題同上取反,刪除一個字段執行后字段不存在增減修改器,只對數字有效。 Mongoose是在node.js環境下對mongodb進行便捷操作的對象模型工具 安裝 一開始需要安裝node.js環境以及mongodb數據庫,然后創建mongdb數據文件...

    liuhh 評論0 收藏0
  • 一篇文章帶你入門Mongoose

    摘要:當然,可以使用方法來簡寫代碼刪除第個元素類似的,該方法也不能省略回調函數,否則數據不會被刪除。 走在前端的大道上 Mongoose是在node.js環境下對mongodb進行便捷操作的對象模型工具 因此,要使用mongoose,則必須安裝node.js環境以及mongodb數據庫。mongoose使mongodb操作更簡單便捷。可以在 github 中獲得其源碼,也可以在這里查看 ap...

    wayneli 評論0 收藏0
  • Nodejs+Express學習二(Mongoose基礎了解)

    摘要:學習注定少不了與數據庫打交道,而和可以說是絕配,這篇主要是簡單介紹這個模塊。通過創建查詢是數據庫中運用最多也是最麻煩的地方,這里對解讀的并不完善,僅僅是自己的一點領悟而已。 學習Node注定少不了與數據庫打交道,而MongoDB和Node可以說是絕配,這篇主要是簡單介紹Mongoose這個模塊。由于本人也是邊學邊寫的這篇文章,絕對會有新手的味道,請大神看到這里就表往下看了。 名詞介紹稍...

    617035918 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<