Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan fungsi pengesanan logistik masa nyata data dalam MongoDB

Bagaimana untuk melaksanakan fungsi pengesanan logistik masa nyata data dalam MongoDB

WBOY
WBOYasal
2023-09-21 15:00:111106semak imbas

Bagaimana untuk melaksanakan fungsi pengesanan logistik masa nyata data dalam MongoDB

Cara melaksanakan fungsi penjejakan logistik masa nyata data dalam MongoDB

Penjejakan logistik ialah pautan penting dalam pengurusan rantaian bekalan Dengan menjejaki lokasi dan status barangan dalam masa nyata, ia boleh membantu syarikat memahami aliran dengan tepat barangan dan meningkatkan kecekapan logistik. Dalam pengurusan logistik sebenar, MongoDB, sebagai pangkalan data bukan perhubungan yang cekap, boleh memberikan sokongan yang baik untuk penjejakan logistik masa nyata. Artikel ini akan memperkenalkan cara melaksanakan fungsi penjejakan logistik masa nyata data dalam MongoDB dan menyediakan contoh kod khusus.

  1. Reka bentuk model data

Dalam MongoDB, kami boleh mereka bentuk koleksi untuk menyimpan maklumat logistik. Setiap maklumat logistik boleh termasuk atribut seperti ID kargo, titik permulaan, titik destinasi, anggaran masa ketibaan, masa ketibaan sebenar, dsb. Pada masa yang sama, kod penjejakan unik (Kod Penjejakan) boleh ditambah pada setiap maklumat logistik untuk mengenal pasti maklumat logistik. Dengan cara ini, kami boleh bertanya dan menjejaki maklumat logistik melalui kod penjejakan.

Berikut ialah contoh struktur dokumen maklumat logistik:

{
"_id": ObjectId("5f8d07ea0c78f7a8e4070b68"),
"trackingCode": "ABC123",
"cargoId"
"cargoId" "Shanghai",
"destinasi": "Beijing",
"anggaran Masa Ketibaan": ISODate("2020-10-20T10:00:00Z"),
"actual ArrivalTime": ISODate("2020-10-19T11:30:00 "),
"status": "Dihantar"
}

  1. Kemas kini data masa nyata

Untuk merealisasikan fungsi penjejakan logistik masa nyata, kami perlu mengemas kini maklumat logistik dalam MongoDB dalam masa nyata. Pelaksanaan biasa ialah menggunakan ciri Tukar Aliran MongoDB. Melalui Change Streams, kami boleh memantau perubahan dalam koleksi dan mendapatkan data yang dikemas kini dalam masa nyata.

Berikut ialah contoh kod Tukar Strim:

const { MongoClient } = require('mongodb');

async function trackLogistics() {
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);

cuba {

await client.connect();

const pipeline = [
  { $match: { 'fullDocument.status': 'Delivered' } }
];

const changeStream = client.db('logistics').collection('shipments')
  .watch(pipeline);

changeStream.on('change', (change) => {
  const trackingCode = change.fullDocument.trackingCode;
  const status = change.fullDocument.status;

  console.log(`物流追踪码:${trackingCode},状态:${status}`);
});

await new Promise((resolve) => setTimeout(resolve, Infinity));

} akhirnya {

await client.close();

}
}

trackLogistics().catch(console.error);

Kod di atas mendengar perubahan dalam maklumat logistik dan menapis keluar Maklumat logistik dengan status "Dihantar". Apabila status maklumat logistik baharu dikemas kini kepada "Dihantar", kod penjejakan dan status akan dicetak. Dengan cara ini, kami boleh menjejaki perubahan dalam maklumat logistik dalam masa nyata.

  1. Pertanyaan maklumat logistik

Selain fungsi penjejakan masa nyata, kami juga boleh menanyakan maklumat logistik khusus berdasarkan kod penjejakan. Berikut ialah contoh kod pertanyaan:

const { MongoClient } = require('mongodb');

async function queryLogistics(trackingCode) {
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);

cuba {

await client.connect();

const logistics = client.db('logistics').collection('shipments');

const result = await logistics.findOne({ trackingCode });

console.log(result);

} akhirnya {

await client.close();

}
}

queryLogistics('ABC123').catch(console.error);

Dengan memanggil fungsi pengekodan dan passingLogistics , kami Anda boleh menanyakan maklumat logistik yang sepadan dengan kod penjejakan.

Melalui contoh kod di atas, kami boleh melaksanakan fungsi penjejakan logistik masa nyata data dalam MongoDB. Dengan mereka bentuk model data yang sesuai, kemas kini data masa nyata dan operasi pertanyaan maklumat logistik, kami boleh bertindak balas secara fleksibel kepada pelbagai senario logistik dan meningkatkan kecekapan dan ketepatan pengurusan logistik.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pengesanan logistik masa nyata data dalam MongoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn