MongoDB so‘rov (query)


ULASHISH

Natijani filtrlang

To‘plamdagi hujjatlarni topayotganda, a yordamida natijani filtrlashingiz mumkin so‘rov obyekti.

find() usulining birinchi argumenti so‘rov obyekti bo‘lib, qidiruvni cheklash uchun ishlatiladi.

Misol

"Park Lane 38" manzili bo‘lgan hujjatlarni toping:

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let query = { address: "Park Lane 38" };
  dbo.collection("customers").find(query).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_mongodb_query.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_mongodb_query.js" ni ishga tushiring

C:\Users\Your Name>node demo_mongodb_query.js

Bu sizga bu natijani beradi:

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]


Muntazam ifodalar bilan filtrlash

Siz qidirayotgan narsani aniq topish uchun oddiy iboralarni yozishingiz mumkin.

Oddiy iboralar faqat stringlarni so‘rash uchun ishlatilishi mumkin.

Faqat "manzil" maydoni "S" harfi bilan boshlanadigan hujjatlarni topish uchun odatdagidan foydalaning /^S/ ifodasi:

Misol

Manzil "S" harfi bilan boshlangan hujjatlarni toping:

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let query = { address: /^S/ };
  dbo.collection("customers").find(query).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_mongodb_query_s.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_mongodb_query_s.js" ni ishga tushiring

C:\Users\Your Name>node demo_mongodb_query_s.js

Bu sizga bu natijani beradi:

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' },
  { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!