Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ค้นหา Array ของ Objects ใน MongoDB Collection

การค้นหา Array ของ Objects ใน MongoDB

หากต้องการค้นหา Array ของ Objects ให้ใช้เมธอด find() ของ MongoDB เมธอด find() จะเลือกเอกสารใน Collection หรือ View และส่งคืน Cursor ไปยังเอกสารที่เลือก

ตัวอย่างข้อมูล

ลองสร้าง Collection พร้อมเอกสารดังนี้:

> db.demo484.insertOne(
... { 'id' : 1, 'details' : [ { 'Name1' : 'Chris' }, { 'Name2' : 'David' }, { 'Name3' : 'Bob' } ] }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e82e3a4b0f3fa88e22790a1") }
> db.demo484.insertOne(
... { 'id' : 1, 'details' : [ { 'Name1' : 'Chris' }, { 'Name2' : 'Carol' }, { 'Name3' : 'Bob' } ] }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e82e3a4b0f3fa88e22790a2") }
> db.demo484.insertOne(
... { 'id' : 1, 'details' : [ { 'Name1' : 'Chris' }, { 'Name2' : 'Carol' }, { 'Name3' : 'Mike' } ] }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e82e3a4b0f3fa88e22790a3") }

แสดงเอกสารทั้งหมด

> db.demo484.find();

ผลลัพธ์:

{ "_id" : ObjectId("5e82e3a4b0f3fa88e22790a1"), "id" : 1, "details" : [ { "Name1" : "Chris" }, { "Name2" : "David" }, { "Name3" : "Bob" } ] }
{ "_id" : ObjectId("5e82e3a4b0f3fa88e22790a2"), "id" : 1, "details" : [ { "Name1" : "Chris" }, { "Name2" : "Carol" }, { "Name3" : "Bob" } ] }
{ "_id" : ObjectId("5e82e3a4b0f3fa88e22790a3"), "id" : 1, "details" : [ { "Name1" : "Chris" }, { "Name2" : "Carol" }, { "Name3" : "Mike" } ] }

คิวรีค้นหา Array ของ Objects

> db.demo484.find(
... {$or: [
...   {'details.Name2': 'Carol', 'details.Name3': 'Mike'},
...   {'details.Name2': 'Carol', 'details.Name3': 'Bob'}
... ]}
... )

ผลลัพธ์:

{ "_id" : ObjectId("5e82e3a4b0f3fa88e22790a2"), "id" : 1, "details" : [ { "Name1" : "Chris" }, { "Name2" : "Carol" }, { "Name3" : "Bob" } ] }
{ "_id" : ObjectId("5e82e3a4b0f3fa88e22790a3"), "id" : 1, "details" : [ { "Name1" : "Chris" }, { "Name2" : "Carol" }, { "Name3" : "Mike" } ] }