Để lấy giá trị của các trường cụ thể, sử dụng toán tử $in. Toán tử này chọn tài liệu nơi giá trị trường khớp với bất kỳ giá trị nào trong mảng chỉ định.
Tạo collection và index:
> db.indexesDemo.createIndex({"StudentFirstName":1});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.indexesDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06de4d25ddae1f53b621dd") }
> db.indexesDemo.insertOne({"StudentFirstName":"Chris","StudentLastName":"Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06de5825ddae1f53b621de") }
> db.indexesDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06de6725ddae1f53b621df") }
> db.indexesDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06de7225ddae1f53b621e0") }
Hiển thị tất cả:
> db.indexesDemo.find();
{ "_id" : ObjectId("5e06de4d25ddae1f53b621dd"), "StudentFirstName" : "John", "StudentLastName" : "Smith" }
{ "_id" : ObjectId("5e06de5825ddae1f53b621de"), "StudentFirstName" : "Chris", "StudentLastName" : "Brown" }
{ "_id" : ObjectId("5e06de6725ddae1f53b621df"), "StudentFirstName" : "John", "StudentLastName" : "Doe" }
{ "_id" : ObjectId("5e06de7225ddae1f53b621e0"), "StudentFirstName" : "David", "StudentLastName" : "Miller" }
Truy vấn với $in và projection chỉ lấy StudentFirstName (loại _id và StudentLastName):
> db.indexesDemo.find(
... { StudentFirstName: { $in: [ "John", "David" ] } },
... { _id: 0, StudentLastName: 0 }
... );
Kết quả chỉ hiển thị StudentFirstName của John và David:
{ "StudentFirstName" : "David" }
{ "StudentFirstName" : "John" }
{ "StudentFirstName" : "John" }