mongodb的操做

  1. 插入操做正則表達式

    查詢操做主要有insert 與 save方法,具體使用方法以下:mongodb

    person = {name : "daniel", sex : "male", age : 8}數據庫

    db.mydb.save(person)spa

    orm

    db.mydb.insert(person)對象

    這樣就能夠將person這個對象保存到mongodb中了,可是save與insert兩個方法有什麼區別呢?排序

    區別是:若插入記錄時,顯示指定了主鍵,並且數據庫中存在與之相同的主鍵,這時insert和save的表現不同:rem

    insert : 會提示錯誤it

    save:會將數據庫中已存在的記錄的相應屬性修改成新對象的屬性。date

  2. 基本查詢操做

    db.user.find():返回user集合下的全部item

    db.user.findOne():返回第一條記錄

    條件查詢,下面的記錄將查找name是"daniel", sex是"male"的記錄

    db.user.find({name : "daniel", sex : "male"})

    指定返回的鍵值對,下面的示例將只返回name與sex鍵值對

    db.user.find({}, {name : 1, sex :1})

    指定不返回的鍵值對,下面的示例將不返回age鍵值對

    db.user.find({}, {age: 0})

    限制返回的記錄條數,下面的示例將只返回3條數據

    db.user.find().limit(3)

  3. 複雜查詢操做

    $gt,$lt,條件查詢:大於,小於。下面的記錄將查找age大於20的記錄

    db.user.find({"age": {$gt : 20}})

    $gte,$lte,條件查詢:大於等於,小於等於,下面的記錄將查找age大於等於20的記錄

    db.user.find({"age" : {$gte : 20}})

    條件查詢,下面的記錄將查找age大於20而且小於30的記錄

    db.user.find({"age" : {$gt : 20,$lt : 30}})

    $exists,按照屬性是否存在進行查找,查找存在age屬性的記錄

    db.user.find({"age" : {$exists : true}})

    $in,屬性屬在一些枚舉值範圍內,如下將查詢age是23或30的記錄

    db.user.find({"age" : {$in : [23,30]}})

    $in,屬性屬在一些枚舉值範圍內,如下將查詢age是 null 的記錄,注意此時沒有age屬性的記錄也將查詢出來

    db.user.find({"age" : {$in : [null]}})

    $in,屬性屬在一些枚舉值範圍內,如下將查詢age是 null 而且存在age屬性的記錄

    db.user.find({"age" : {$in : [null],$exists:true}})

    $ne,不等於,如下將查詢age不等於30的記錄

    db.user.find({"age" : {$ne : 30}})

    $nin,屬性不在一些枚舉值範圍內,如下將查詢age不是null的記錄

    db.user.find({"age" : {$nin : [null]}})

    正則表達式,將屬性值符合正則表達式的記錄找出來

    db.user.find({"name" : /chenhai/})

    count(),查詢符合條件的記錄條數

    db.user.find({"name" : "chenhai"}).count()

    sort(),查詢符合條件的記錄,,進行排序,如下語句將查詢name爲"chenhai"的記錄,並按照年齡進行升序排序

    db.user.find({"name" : "chenhai"}).sort({age : 1})

  4. 修改操做

    下面的操做將name爲"daniel"的age修改成9

    db.user.update({name:"daniel"},{$set:{age:9}})

  5. 刪除操做

    下面的操做將name爲"daniel"的記錄刪除

    db.user.remove({name:"daniel"})

相關文章
相關標籤/搜索