查詢
> db.tianyc04.find()
{ "_id" : 1, "fruit" : [ "apple", "banana", "peach" ] }
{ "_id" : 2, "fruit" : [ "apple", "orange", "peach" ] }
{ "_id" : 3, "fruit" : [ "orange", "banana", "peach" ] }
#通過全匹配师妙,查詢第一行
> db.tianyc04.find({fruit:["apple", "banana", "peach"]})
{ "_id" : 1, "fruit" : [ "apple", "banana", "peach" ] }
#如果將數(shù)組中的順序顛倒诵肛,則第一行就匹配不上了。此時可以使用$all
> db.tianyc04.find({fruit:["apple", "peach", "banana"]})
> db.tianyc04.find({fruit:{$all:["apple", "peach", "banana"]}})
{ "_id" : 1, "fruit" : [ "apple", "banana", "peach" ] }
#也可以只輸入一個元素進(jìn)行查詢
> db.tianyc04.find({fruit:'apple'})
{ "_id" : 1, "fruit" : [ "apple", "banana", "peach" ] }
{ "_id" : 2, "fruit" : [ "apple", "orange", "peach" ] }
#如果這個元素變成了數(shù)組默穴,mongo就會進(jìn)行精確匹配怔檩。此時你可能需要使用$all進(jìn)行模糊匹配:
> db.tianyc04.find({fruit:['apple']})
> db.tianyc04.find({fruit:{$all:['apple']}})
{ "_id" : 1, "fruit" : [ "apple", "banana", "peach" ] }
{ "_id" : 2, "fruit" : [ "apple", "orange", "peach" ] }
模糊查詢
db.student.find({name:/joe/})
或者
db.student.find({name:{$regex:/joe/}})
當(dāng)使用正則時候,還可以為$regex操作符中的option選項(xiàng)進(jìn)行設(shè)置蓄诽,可以改變正則匹配的默認(rèn)行為薛训,有i, m, x以及S四個選項(xiàng)。
更新
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})