Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Chọn object nơi mảng chỉ chứa một trường cụ thể trong MongoDB?

Tạo collection:

> db.arrayContainOnlySpecificFieldDemo.insertOne(
  {
    "StudentName":"John",
    "StudentAge":21,
    "StudentTechnicalSubject":["C","Java","MongoDB"]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cc4921dac184d684e3fa26a") }
> db.arrayContainOnlySpecificFieldDemo.insertOne(
  { "StudentName":"Carol", "StudentAge":23, "StudentTechnicalSubject":["MongoDB"] }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cc49237ac184d684e3fa26b") }

Hiển thị tất cả:

> db.arrayContainOnlySpecificFieldDemo.find().pretty();

Kết quả:

{ "_id" : ObjectId("5cc4921dac184d684e3fa26a"), "StudentName" : "John", "StudentAge" : 21, "StudentTechnicalSubject" : [ "C", "Java", "MongoDB" ] }
{ "_id" : ObjectId("5cc49237ac184d684e3fa26b"), "StudentName" : "Carol", "StudentAge" : 23, "StudentTechnicalSubject" : [ "MongoDB" ] }

Truy vấn tìm document nơi mảng chỉ chứa chính xác ["MongoDB"]:

> db.arrayContainOnlySpecificFieldDemo.find({"StudentTechnicalSubject":[ "MongoDB"]}).pretty();

Kết quả:

{ "_id" : ObjectId("5cc49237ac184d684e3fa26b"), "StudentName" : "Carol", "StudentAge" : 23, "StudentTechnicalSubject" : [ "MongoDB" ] }