18 मिनट के भाग के लिए, यह वास्तव में MongoDB के बारे में नहीं है, बल्कि जावास्क्रिप्ट के बारे में है और मोंगो शेल में क्या उपलब्ध है:
query = {
timestamp: { // 18 minutes ago (from now)
$gt: new Date(ISODate().getTime() - 1000 * 60 * 18)
}
}
मोंगो शेल में काम करता है, लेकिन अन्य भाषाओं के लिए मोंगो ड्राइवरों का उपयोग करना वास्तव में अलग होगा।
मान और टाइमस्टैम्प दोनों के साथ एक छोटे स्कीमा पर "प्रोजेक्ट" करने के लिए:
projection = {
_id: 0,
value: 1,
timestamp: 1,
}
दोनों को लागू करना:
db.mycol.find(query, projection).sort({timestamp: 1});
खैर, यह अभी भी "सेट" नहीं है क्योंकि डुप्लिकेट हो सकते हैं। इनसे छुटकारा पाने के लिए आप $group
. का उपयोग कर सकते हैं एकत्रीकरण ढांचे से:
db.mycol.aggregate([
{$match: query},
{$group: {
_id: {
value: "$value",
timestamp: "$timestamp",
}
}},
{$project: {
value: "$_id.value",
timestamp: "$_id.timestamp",
}},
{$sort: {timestamp: 1}},
])