程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> MongoDB 常用命令總結

MongoDB 常用命令總結

編輯:MongoDB綜合知識

簡單的的增刪改查數據

在查詢結果中指定顯示或者不顯示某個字段

例如,我們希望在 lessons 集合中查找所有數據,但是不希望在返回結果中包含 slides 字段;因為 slides 是一個巨長的以 base64 表示的圖片數組,影響查詢結果的閱讀。
那麼我們就可以在 query object 後面跟上一個參數。如下:

復制代碼 代碼如下:
db.lessons.find({}, {slides:0});

同樣也可以明確指定顯示哪些字段:

復制代碼 代碼如下:
db.bios.find(
{ },
{ name: 1, contribs: 1, _id: 0 }
)

比較操作 – 大於和小於

我們要查詢時間范圍在 startTime 和 endTime 間的數據記錄,同時要求 Content 內容是數字 1 到 5。

復制代碼 代碼如下:
db.wemessages.find( {$and: [
    { CreateTime: {$gt: (startTime.getTime()/1000).toString()} },
    { CreateTime: {$lt: (endTime.getTime()/1000).toString()} },
    { Content: {$in: ['1','2','3','4','5']} }
  ]}
);

這裡我們使用了 $and 邏輯操作符,和 $gt, $lt, $in 比較操作符。

有關 MongoDB 的操作符,參見:http://docs.mongodb.org/manual/reference/operator/query/

更新一條記錄的某些屬性

使用 $set 表示只更新指定的字段,而不修改其他字段,我們一般情況下都會是這種意圖。

復制代碼 代碼如下:
db.lessons.update({}, {$set:{'course_id':'c.101'}});

更新多條記錄

使用 {multi: true}

復制代碼 代碼如下:
db.lessons.update({}, {$set:{'course_id':'c.101'}}, {multi: true});
db.muusers.update({username: 'tom'}, {$set: {mobile: '6508639713'}}, {multi: true});

排序查詢結果

使用 sort 方法

復制代碼 代碼如下:
db.muusers.find().sort({firsttime: -1});

-1 降序,1 升序

清爽地查看查詢結果

使用 pretty 方法

復制代碼 代碼如下:
db.lessons.find({lesson: 1}, {slides: 0, mp3voice:0, wavvoice:0, wavvoicemin: 0}).pretty();

查看不存在某個字段的記錄

使用 $exists

復制代碼 代碼如下:
db.questions.find({'sequence_id': 1, 'pngslide': {$exists: false}});
db.mycollection.find( { "price" : { "$exists" : false } } )

限定查詢結果個數 limit, 以及跳過開始的多少條記錄 skip

使用 limit 和 skip

復制代碼 代碼如下:
db.translation_memory.find({mp3voice: {$exists: false}}, null, {limit: 100});

刪除 collection 中的所有內容

使用 collection 的 remove 方法

復制代碼 代碼如下:
db.collection.remove();

得到 collection 中一個字段的長度

鏈式調用

復制代碼 代碼如下:
db.lessons.find({lesson: 1}).toArray()[0].slides.join('').length

Collection 操作

更名 collection

使用 renameCollection 方法

復制代碼 代碼如下:
db.quizzes.renameCollection('questions');

刪除一個字段

使用 $unset

復制代碼 代碼如下:
db.questions.update({}, {$unset: {quiz_name:1}}, {multi: true});
db.learning_progress.update({}, {$unset: {lesson:1}}, {multi: true});
db.lessons.update({}, {$unset: {wavvoice:1, wavvoicemin:1}}, {multi: true});

修改一個字段的名稱

使用 $rename

復制代碼 代碼如下:
db.students.update( { _id: 1 }, { $rename: { 'nickname': 'alias', 'cell': 'mobile' } } )

注意:有些MongoDB的關鍵詞不能用做Collection的名稱,例如:group。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved