MongoDB簡單使用-查詢操作3

來源:互聯網
上載者:User

標籤:efi   大小   SM   mongod   表示   sts   log   ddbd   like   

首先添加幾個文檔:

dvd = ({"Type":"DVD","Title":"Matrix,The","Released":1994,"Cast":["Keanu Reeves","Carrie-Anne Moss","Laurence Fishburne","Hugo Weaving","Gloria Foster","Joe Pantoliano"]})

db.media.insertOne(dvd)

dvd = ({"Type":"DVD","Title":"Blade Runner","Released":1982})
db.media.insertOne(dvd)

dvd = ({"Type":"DVD","Title":"Toy Story 3","Released":2010})

db.media.insertOne(dvd)

1.比較符號($gt,$gte,$lt,$lte)  #(大於,大於等於,小於,小於等於)

db.media.find({Released:{$gt:2000}},{"Cast":0})

系統返回
{ "_id" : ObjectId("5aa4984153350e04ddbd6fab"), "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }

db.media.find({Released:{$gte:1994,$lt:2010}},{"Cast":0})

系統返回
{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994 }

2.$in,$all,$or

db.media.find({Released:{$in:[1994,2008,2009]}},{"Cast":0}

系統返回

{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994 }


db.media.find({Released:{$all:[1994,2008,2009]}},{"Cast":0})

系統返回

(又不存在同時滿足3個條件的文檔,返回空)

db.media.find({$or:[{"Title":"Toy Story 3"},{"ISBN":"978-1-4842-1183-0"}]})

系統返回
{ "_id" : ObjectId("5aa490f053350e04ddbd6fa6"), "Type" : "Book", "Title" : "Definitive Guide to MongoDB 3rd ed.", "ISBN" : "978-1-4842-1183-0", "Publisher" : "Apress", "Author" : [ "Hows,David", "Plugge,Eelco", "Membrey,Peter", "Hawkins,Tim" ] }

3.$slice

db.media.find({"Title":"Matrix,The"},{"Cast":{$slice:3}})

系統返回
{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994, "Cast" : [ "Keanu Reeves", "Carrie-Anne Moss", "Laurence Fishburne" ] }

db.media.find({"Title":"Matrix,The"},{"Cast":{$slice:[-5,4]}})   #從最後5項中截取前4個

系統返回
{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994, "Cast" : [ "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster" ] }

4.$mod

db.media.find({Released:{$mod:[3,2]}},{"Cast":0})

系統返回:

{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994 }
{ "_id" : ObjectId("5aa4981653350e04ddbd6faa"), "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }

5.$size

db.media.find({Tracklist:{$size:2}})

系統返回:
{ "_id" : ObjectId("5aa4912953350e04ddbd6fa7"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] }

6.$exists

db.media.find({Author:{$exists:true}})

系統返回:
{ "_id" : ObjectId("5aa490f053350e04ddbd6fa6"), "Type" : "Book", "Title" : "Definitive Guide to MongoDB 3rd ed.", "ISBN" : "978-1-4842-1183-0", "Publisher" : "Apress", "Author" : [ "Hows,David", "Plugge,Eelco", "Membrey,Peter", "Hawkins,Tim" ] }
{ "_id" : ObjectId("5aa4915453350e04ddbd6fa8"), "Type" : "Book", "Title" : "Definitive Guide to MongoDB 3rd ed.", "ISBN" : "978-1-4842-1183-1", "Publisher" : "Apress", "Author" : [ "Hows,David", "Plugge,Eelco", "Membrey,Peter", "Hawkins,Tim" ] }


db.media.find({Author:{$exists:false}})

系統返回:
{ "_id" : ObjectId("5aa4912953350e04ddbd6fa7"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] }
{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994, "Cast" : [ "Keanu Reeves", "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano" ] }
{ "_id" : ObjectId("5aa4981653350e04ddbd6faa"), "Type" : "DVD", "Title" : "Blade Runner", "Released" : 1982 }
{ "_id" : ObjectId("5aa4984153350e04ddbd6fab"), "Type" : "DVD", "Title" : "Toy Story 3", "Released" : 2010 }

7.$type

db.media.find({Tracklist:{$type:3}})   #type:3表示內嵌物件
{ "_id" : ObjectId("5aa4912953350e04ddbd6fa7"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] }

8.$elemMatch

db.media.find({"Tracklist.Title":"Smells Like Teen Spirit","Tracklist.Track":"1"})

系統返回:
{ "_id" : ObjectId("5aa4912953350e04ddbd6fa7"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] }
{ "_id" : ObjectId("5aa49fe653350e04ddbd6fac"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nirvana", "Tracklist" : [ { "Track" : "1", "Title" : "You Know You Are Right", "Length" : "3:38" }, { "Track" : "5", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" } ] }

db.media.find({Tracklist:{$elemMatch:{Title:"Smells Like Teen Spirit",Track:"1"}}})

系統返回:
{ "_id" : ObjectId("5aa4912953350e04ddbd6fa7"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells Like Teen Spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] }

9.Regex

db.media.find({Title:/^Matrix*/i})  #i表示不區分大小寫

系統返回:
{ "_id" : ObjectId("5aa497c753350e04ddbd6fa9"), "Type" : "DVD", "Title" : "Matrix,The", "Released" : 1994, "Cast" : [ "Keanu Reeves", "Carrie-Anne Moss", "Laurence Fishburne", "Hugo Weaving", "Gloria Foster", "Joe Pantoliano" ] }

MongoDB簡單使用-查詢操作3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.