插入操做正則表達式
查詢操做主要有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
基本查詢操做
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)
複雜查詢操做
$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})
修改操做
下面的操做將name爲"daniel"的age修改成9
db.user.update({name:"daniel"},{$set:{age:9}})
刪除操做
下面的操做將name爲"daniel"的記錄刪除
db.user.remove({name:"daniel"})