Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में पिछले सप्ताह बने ऑब्जेक्ट खोजें

MongoDB में Date और $gte से पिछले सप्ताह के डॉक्यूमेंट खोजना

वर्तमान तारीख से 7 दिन पहले की तारीख की गणना करके $gte (ग्रेटर देन इक्वल) ऑपरेटर से क्वेरी करें।

वर्तमान तारीख चेक करें

> new Date();
ISODate("2019-05-14T08:32:42.773Z")

कलेक्शन बनाएं और विभिन्न तारीखों के डॉक्यूमेंट इन्सर्ट करें

> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-05-01")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e0") }
> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-05-02")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e1") }
> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-05-08")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e2") }
> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-05-07")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e3") }
> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-05-09")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e4") }
> db.findObectInLastWeekDemo.insertOne({"ShippingDate": new ISODate("2019-04-26")});
{ "acknowledged": true, "insertedId": ObjectId("5cda7dc4bf3115999ed511e5") }

सभी डॉक्यूमेंट देखें

> db.findObectInLastWeekDemo.find().pretty();
{ "_id": ObjectId("5cda7dc4bf3115999ed511e0"), "ShippingDate": ISODate("2019-05-01T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e1"), "ShippingDate": ISODate("2019-05-02T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e2"), "ShippingDate": ISODate("2019-05-08T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e3"), "ShippingDate": ISODate("2019-05-07T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e4"), "ShippingDate": ISODate("2019-05-09T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e5"), "ShippingDate": ISODate("2019-04-26T00:00:00Z") }

पिछले 7 दिनों के डॉक्यूमेंट खोजें

> db.findObectInLastWeekDemo.find({
  ShippingDate: {
    $gte: new Date(new Date() - 7 * 60 * 60 * 24 * 1000)
  }
});
{ "_id": ObjectId("5cda7dc4bf3115999ed511e2"), "ShippingDate": ISODate("2019-05-08T00:00:00Z") }
{ "_id": ObjectId("5cda7dc4bf3115999ed511e4"), "ShippingDate": ISODate("2019-05-09T00:00:00Z") }

गणना समझें

new Date() - 7 * 60 * 60 * 24 * 1000
// 7 दिन * 24 घंटे * 60 मिनट * 60 सेकंड * 1000 मिलीसेकंड
// = 7 दिन पहले का टाइमस्टैम्प

बेहतर तरीका: एग्रीगेशन में $$NOW (MongoDB 4.2+)

db.collection.aggregate([
  { $match: {
      ShippingDate: { $gte: { $dateSubtract: { startDate: "$$NOW", unit: "day", amount: 7 } } }
  }}
])
  1. - क्या MongoDB में ऑब्जेक्ट्स के ऐरे को खोज सकते हैं?

    हां, MongoDB में ऑब्जेक्ट्स के ऐरे को खोजने के लिए aggregate() में $unwind का उपयोग करें। मिलान के लिए $match का उपयोग करें। नमूना डेटा बनाना db.demo623.insertOne( { _id:1, details:[ { Name:Chris }, { DueDate:new ISODate(2020-01-10) }, { CountryName:US } ] } ); दस्तावेज़ देखना

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn

  1. - MongoDB में Specific Amount के Records Find करना

    Specific amount के records find करने के लिए MongoDB में LIMIT() का उपयोग करें। यह method एक number type argument accept करता है, जो display होने वाले documents की संख्या है। Collection बनाना > db.demo549.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e8e32889e5f92834d7f05