MongoDB:組合 AND 和 OR?
首先,我們建立一個帶有文件的集合 −
> db.demo293.insertOne({FirstName:"Chris",LastName:"Brown",Age:24}); { "acknowledged" : true, "insertedId" : ObjectId("5e4d45075d93261e4bc9ea32") } > db.demo293.insertOne({FirstName:"David",LastName:"Miller",Age:23}); { "acknowledged" : true, "insertedId" : ObjectId("5e4d45265d93261e4bc9ea33") } > db.demo293.insertOne({FirstName:"John",LastName:"Smith",Age:24}); { "acknowledged" : true, "insertedId" : ObjectId("5e4d45385d93261e4bc9ea34") } > db.demo293.insertOne({FirstName:"Adam",LastName:"Doe",Age:21}); { "acknowledged" : true, "insertedId" : ObjectId("5e4d46cf5d93261e4bc9ea35") }
藉助 find() 方法顯示集合中的所有文件 −
> db.demo293.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5e4d45075d93261e4bc9ea32"), "FirstName" : "Chris", "LastName" : "Brown", "Age" : 24 } { "_id" : ObjectId("5e4d45265d93261e4bc9ea33"), "FirstName" : "David", "LastName" : "Miller", "Age" : 23 } { "_id" : ObjectId("5e4d45385d93261e4bc9ea34"), "FirstName" : "John", "LastName" : "Smith", "Age" : 24 } { "_id" : ObjectId("5e4d46cf5d93261e4bc9ea35"), "FirstName" : "Adam", "LastName" : "Doe", "Age" : 21 }
以下是對 AND 和 OR 進行組合的查詢 −
> db.demo293.find( { ... $and : [ ... { ... $or : [ ... {"FirstName" : "John"}, ... {"LastName" : "Brown"} ... ] ... }, ... { ... Age:24 ... } ... ] ...} )
這將產生以下輸出 −
{ "_id" : ObjectId("5e4d45075d93261e4bc9ea32"), "FirstName" : "Chris", "LastName" : "Brown", "Age" : 24 } { "_id" : ObjectId("5e4d45385d93261e4bc9ea34"), "FirstName" : "John", "LastName" : "Smith", "Age" : 24 }
廣告