Bạn có thể thử cách hack sau đây, nơi bạn có thể nhận được biểu diễn chuỗi tương đương của ObjectId
sử dụng toString()
hoặc toHexString()
, sử dụng parseInt
và slice
để lấy các bộ phận. Vì các chữ số hex là một nửa byte nên hiệu số gấp đôi:
db.collection("collectionName").findOne({}, function(err, result) {
if (result) {
var id = result._id.toString(), ctr = 0;
var timestamp = parseInt(id.slice(ctr, (ctr+=8)), 16);
var machineID = parseInt(id.slice(ctr, (ctr+=6)), 16);
var processID = parseInt(id.slice(ctr, (ctr+=4)), 16);
var counter = parseInt(id.slice(ctr, (ctr+=6)), 16);
console.log(id);
console.log(timestamp);
console.log(machineID);
console.log(processID);
console.log(counter);
}
});