Maison > base de données > MongoDB > le corps du texte

Comment implémenter la fonction de suivi logistique en temps réel des données dans MongoDB

WBOY
Libérer: 2023-09-21 15:00:11
original
1105 Les gens l'ont consulté

Comment implémenter la fonction de suivi logistique en temps réel des données dans MongoDB

Comment mettre en œuvre la fonction de suivi logistique en temps réel des données dans MongoDB

Le suivi logistique est un maillon important dans la gestion de la chaîne d'approvisionnement en suivant l'emplacement et l'état des marchandises en temps réel, il peut aider les entreprises à comprendre avec précision le flux. des marchandises et améliorer l’efficacité logistique. Dans la gestion logistique réelle, MongoDB, en tant que base de données non relationnelle efficace, peut fournir un bon support pour le suivi logistique en temps réel. Cet article présentera comment implémenter la fonction de suivi logistique en temps réel des données dans MongoDB et fournira des exemples de code spécifiques.

  1. Conception de modèles de données

Dans MongoDB, nous pouvons concevoir une collection pour stocker des informations logistiques. Chaque information logistique peut inclure des attributs tels que l'identifiant de la cargaison, le point de départ, le point de destination, l'heure d'arrivée estimée, l'heure d'arrivée réelle, etc. Dans le même temps, un code de suivi unique (Tracking Code) peut être ajouté à chaque information logistique pour identifier les informations logistiques. De cette façon, nous pouvons interroger et suivre les informations logistiques grâce au code de suivi.

Ce qui suit est un exemple de structure de document d'informations logistiques :

{
"_id": ObjectId("5f8d07ea0c78f7a8e4070b68"),
"trackingCode": "ABC123",
"cargoId": "C01",
"origin": "Shanghai",
"destination": "Pékin",
"estimatedArrivalTime": ISODate("2020-10-20T10:00:00Z"),
"actualArrivalTime": ISODate("2020-10-19T11:30:00Z " "),
"statut": "Livré"
}

  1. Mise à jour des données en temps réel

Afin de réaliser la fonction de suivi logistique en temps réel, nous devons mettre à jour les informations logistiques dans MongoDB en temps réel. Une implémentation courante consiste à utiliser la fonctionnalité Change Streams de MongoDB. Grâce aux Change Streams, nous pouvons surveiller les changements dans les collections et obtenir des données mises à jour en temps réel.

Ce qui suit est un exemple de code Change Streams :

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

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

essayez {

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));
Copier après la connexion

} enfin {

await client.close();
Copier après la connexion
Copier après la connexion

}
}

trackLogistics().catch(console.error);

Le code ci-dessus écoute les changements dans les informations logistiques et filtre Informations logistiques avec le statut « Livré ». Chaque fois qu'un nouveau statut d'informations logistiques est mis à jour sur "Livré", le code de suivi et le statut seront imprimés. De cette manière, nous pouvons suivre l’évolution des informations logistiques en temps réel.

  1. Requête d'informations logistiques

En plus de la fonction de suivi en temps réel, nous pouvons également interroger des informations logistiques spécifiques en fonction du code de suivi. Voici un exemple de code de requête :

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

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

essayez {

await client.connect();

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

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

console.log(result);
Copier après la connexion

} enfin {

await client.close();
Copier après la connexion
Copier après la connexion

}
}

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

En appelant la fonction queryLogistics et en transmettant le code de suivi , nous Vous pouvons interroger les informations logistiques correspondant au code de suivi.

Grâce à l'exemple de code ci-dessus, nous pouvons implémenter la fonction de suivi logistique en temps réel des données dans MongoDB. En concevant des modèles de données appropriés, des mises à jour de données en temps réel et des opérations de requête d'informations logistiques, nous pouvons répondre de manière flexible à divers scénarios logistiques et améliorer l'efficacité et la précision de la gestion logistique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!