डॉट (.) नोटेशन का उपयोग करके ऐरे फ़ील्ड्स क्वेरी करें
MongoDB में ऐरे के अंदर नेस्टेड फ़ील्ड्स को क्वेरी करने के लिए डॉट नोटेशन (arrayField.nestedField) का उपयोग करें।
उदाहरण: संग्रह बनाना
> db.retrievingArrayDemo.insertOne({
"UserDetails": [
{"UserName": "John", "UserAge": 23}
],
"UserCountryName": "AUS",
"UserLoginDate": new ISODate(),
"UserMessage": "Hello"
});
{ "acknowledged": true, "insertedId": ObjectId("5ce9718478f00858fb12e920") }
> db.retrievingArrayDemo.insertOne({
"UserDetails": [
{"UserName": "Sam", "UserAge": 24}
],
"UserCountryName": "UK",
"UserLoginDate": new ISODate(),
"UserMessage": "Bye"
});
{ "acknowledged": true, "insertedId": ObjectId("5ce9718478f00858fb12e921") }
सभी डॉक्यूमेंट्स देखना
> db.retrievingArrayDemo.find().pretty();
{
"_id": ObjectId("5ce9718478f00858fb12e920"),
"UserDetails": [{"UserName": "John", "UserAge": 23}],
"UserCountryName": "AUS",
"UserLoginDate": ISODate("2019-05-25T16:47:00.211Z"),
"UserMessage": "Hello"
}
{
"_id": ObjectId("5ce9718478f00858fb12e921"),
"UserDetails": [{"UserName": "Sam", "UserAge": 24}],
"UserCountryName": "UK",
"UserLoginDate": ISODate("2019-05-25T16:47:00.670Z"),
"UserMessage": "Bye"
}
ऐरे वैल्यूज़ प्राप्त करने की क्वेरी
डॉट नोटेशन का उपयोग करके UserCountryName: "UK" और UserDetails.UserName: "Sam" वाले डॉक्यूमेंट ढूंढें:
> db.retrievingArrayDemo.find({"UserCountryName": "UK", "UserDetails.UserName": "Sam"}).pretty();
आउटपुट:
{
"_id": ObjectId("5ce9718478f00858fb12e921"),
"UserDetails": [{"UserName": "Sam", "UserAge": 24}],
"UserCountryName": "UK",
"UserLoginDate": ISODate("2019-05-25T16:47:00.670Z"),
"UserMessage": "Bye"
}
डॉट नोटेशन UserDetails.UserName ऐरे के अंदर UserName फ़ील्ड तक पहुंचने की अनुमति देता है।