Hôm nay trong bài viết này, chúng ta sẽ xem cách GetTimeStamp trong MongoDB bằng ObjectId bằng công cụ Mongoshell hoặc CLI
ObjectId là phần tử 12 byte bao gồm các trường bên dưới,
- giá trị dấu thời gian,
- một giá trị ngẫu nhiên
- bộ đếm gia tăng
MongoDB sử dụng trường _id làm ObjectId, Id này có một số đặc điểm hành vi và nó được giải thích bên dưới,
Hôm nay bài viết này sẽ xem cách viết Truy vấn MongoDB bằng cách sử dụng ObjectId theo Phạm vi ngày để nhận các bản ghi dựa trên dấu thời gian hoặc phạm vi ngày tháng
Chi tiết về dấu thời gian có thể hữu ích vì nhiều lý do khác, Nó giúp lấy dấu thời gian khi các bản ghi được thêm vào tài liệu MongoDB lần đầu tiên. Cụ thể, khi lược đồ của bạn không chứa thuộc tính dấu thời gian một cách rõ ràng
Hôm nay trong bài viết này, chúng tôi sẽ đề cập đến các khía cạnh dưới đây,
- Trường MongoDB _id dưới dạng ObjectId
- Bắt đầu
- ObjectId ngày lớn hơn truy vấn
- ObjectId ngày Nhỏ hơn truy vấn
- ObjectId Ngày lớn hơn và nhỏ hơn truy vấn
- Truy vấn MongoDB bằng cách sử dụng ngày ObjectId – MongoDB Atlas UI
Xin lưu ý rằng ObjectId là phần tử 12 byte bao gồm giá trị dấu thời gian, giá trị ngẫu nhiên và bộ đếm gia tăng
Trường MongoDB _id dưới dạng ObjectId
MongoDB sử dụng trường _id làm ObjectId Id này có một số đặc điểm hành vi và nó được giải thích bên dưới, Dấu thời gian 4 byte là dấu thời gian UNIX
Nó đại diện cho dấu thời gian tạo của ObjectId khi tài liệu được chèn vào bộ sưu tập Mongo lần đầu tiên, được tính bằng giây kể từ kỷ nguyên Unix. để biết thêm chi tiết, vui lòng truy cập tại đây
Bắt đầu
ObjectId ngày lớn hơn truy vấn
Chỉ huy
{ : { $gt: ObjectId.fromDate[ new ISODate["Date here"]]}}
HOẶC
{ : { $gt: ObjectId.fromDate[ new Date["Date here"]]}}
Ví dụ
> db.employee.find[{_id: {$gt: ObjectId.fromDate[ new Date["2021-01-01"] ] } }]; { "_id" : ObjectId["617f1b826cbcd5cf388e44f7"], "Name" : "John", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "NY", "Zip" : "12345", "order" : [ "name1", "name2" ] } { "_id" : ObjectId["61ec0d419e5a92743c245375"], "Name" : "Meery", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "", "Zip" : "12345-0000" } { "_id" : ObjectId["61ec0d5e9e5a92743c245376"], "Name" : "Mohn", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "", "Zip" : "45678-1234" } { "_id" : ObjectId["61ec0d789e5a92743c245377"], "Name" : "alex", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "TEST", "Country" : "USA", "States" : "OH" } { "_id" : ObjectId["62ac091058c3f35ca07859a9"], "Name" : "sr", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "NY", "Zip" : "12345", "order" : [ "name1", "name2" ] }
ObjectId ngày Nhỏ hơn truy vấn
Chỉ huy
{ : { $lt: ObjectId.fromDate[ new ISODate["Date here"]]}}
Ví dụ
> db.employee.find[{_id: {$lt: ObjectId.fromDate[ new Date["2022-01-01"] ] } }]; { "_id" : ObjectId["617f1b826cbcd5cf388e44f7"], "Name" : "John", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "NY", "Zip" : "12345", "order" : [ "name1", "name2" ] }
ObjectId Date lớn hơn và nhỏ hơn truy vấn
Chỉ huy
{: {$lt: ObjectId.fromDate[ new Date["2022-05-01"] ], $gt: ObjectId.fromDate[ new Date["2021-01-01"] ] } }];
Ví dụ
{_id: {$lt: ObjectId.fromDate[ new Date["2022-05-01"] ], $gt: ObjectId.fromDate[ new Date["2021-01-01"] ] } }];
> db.employee.find[{_id: {$lt: ObjectId.fromDate[ new Date["2022-05-01"] ], $gt: ObjectId.fromDate[ new Date["2021-01-01"] ] } }]; { "_id" : ObjectId["617f1b826cbcd5cf388e44f7"], "Name" : "John", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "NY", "Zip" : "12345", "order" : [ "name1", "name2" ] } { "_id" : ObjectId["61ec0d419e5a92743c245375"], "Name" : "Meery", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "", "Zip" : "12345-0000" } { "_id" : ObjectId["61ec0d5e9e5a92743c245376"], "Name" : "Mohn", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "NY", "Country" : "USA", "States" : "", "Zip" : "45678-1234" } { "_id" : ObjectId["61ec0d789e5a92743c245377"], "Name" : "alex", "Ssn" : BinData[6,"AQN8hvdzPErPuPBzVdYmjdUCdQEKWLhy6gifgAykIemBsI06Ps+w9IzaZ7sRO8tyh+EfxODhxpmES4u7g10EnZsvXWeUUASeTYsWVb8GMbxUig=="], "City" : "TEST", "Country" : "USA", "States" : "OH" }
Truy vấn MongoDB bằng cách sử dụng ngày ObjectId – MongoDB Atlas UI
Nếu bạn đang sử dụng MongoDB Atlas, vui lòng sử dụng lệnh bên dưới để thực hiện truy vấn phạm vi ngày bằng ObjectId