Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm kiếm mảng đối tượng trong bộ sưu tập MongoDB?


Để tìm kiếm mảng đối tượng, hãy sử dụng MongoDB find (). Phương thức find () chọn tài liệu trong một bộ sưu tập hoặc chế độ xem và trả về một con trỏ đến các tài liệu đã chọn ..

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> 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")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo484.find();

Điều này sẽ tạo ra kết quả sau -

{ "_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" } ] }

Sau đây là truy vấn để tìm kiếm mảng đối tượng trong bộ sưu tập MongoDB -

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

Điều này sẽ tạo ra kết quả sau -

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