溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mongodb高級查詢

發(fā)布時間:2020-07-09 13:53:02 來源:網(wǎng)絡(luò) 閱讀:435 作者:boy12626 欄目:數(shù)據(jù)庫

  MongoDB 的邏輯結(jié)構(gòu)是一種層次結(jié)構(gòu)。主要由文檔(document)、集合(collection)、數(shù)據(jù)庫(database)這三部分組成的。邏輯結(jié)構(gòu)是面向用戶的用戶使用MongoDB 開發(fā)應(yīng)用程序使用的就是邏輯結(jié)構(gòu)。

  MongoDB 的文檔document相當(dāng)于關(guān)系數(shù)據(jù)庫中的一行記錄。

  多個文檔組成一個集合collection相當(dāng)于關(guān)系數(shù)據(jù)庫的表。

  多個集合collection邏輯上組織在一起就是數(shù)據(jù)庫database。

  一個MongoDB 實例支持多個數(shù)據(jù)庫database。

mongodb條件查詢

   db.collection.find({"field":{$gt:value}}) //大于

   db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value

   db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value

   db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value

   如果要同時滿足多個條件可以這樣做

    db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value

   

    $all匹配所有 必須滿足[ ]內(nèi)的所有值例如:

    db.users.find({age : {$all : [6, 8]}});

    可以查詢出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }

    但查詢不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }


    $exists判斷字段是否存在

    查詢所有存在age 字段的記錄

    db.users.find({age: {$exists: true}});

    查詢所有不存在name 字段的記錄

    db.users.find({name: {$exists: false}});

    

    $ne不等于

    查詢x 的值不等于3 的數(shù)據(jù)

    db.things.find( { x : { $ne : 3 } } );


    $in包含

    查詢x 的值在2,4,6 范圍內(nèi)的數(shù)據(jù)

    db.things.find({x:{$in: [2,4,6]}});

  

    $nin不包含

   查詢x 的值在2,4,6 范圍外的數(shù)據(jù)

    db.things.find({x:{$nin: [2,4,6]}});

 

    $size數(shù)組元素個數(shù)

    對于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }記錄

    匹配db.users.find({favorite_number: {$size: 3}});

    不匹配db.users.find({favorite_number: {$size: 2}});

 

    正則表達式匹配

    查詢不匹配name=B*帶頭的記錄

    db.users.find({name: {$not: /^B.*/}});


    skip限制返回記錄的起點

    從第3 條記錄開始返回5 條記錄(limit 3, 5)

    db.users.find().skip(3).limit(5);


    sort排序

    以年齡升序asc

    db.users.find().sort({age: 1});

    以年齡降序desc

    db.users.find().sort({age: -1});


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI