Maison >base de données >MongoDB >Comment utiliser MongoDB pour développer un système simple de maison intelligente
Comment utiliser MongoDB pour développer un système de maison intelligente simple
Les systèmes de maison intelligente font désormais partie de la vie de famille moderne. Grâce aux systèmes de maison intelligente, nous pouvons contrôler à distance divers appareils de la maison, tels que les lumières, les appareils électroménagers, les serrures de porte, etc., via des téléphones portables ou d'autres appareils. Cet article expliquera comment utiliser MongoDB pour développer un système de maison intelligente simple et fournira des exemples de code spécifiques pour référence aux lecteurs.
1. Analyse de la configuration système requise
Avant de commencer le développement, nous devons d'abord clarifier la configuration système requise. Un simple système de maison intelligente doit avoir les fonctions suivantes :
2. Conception de la base de données
Sur la base des exigences ci-dessus, nous pouvons concevoir la structure de base de données suivante :
Table des utilisateurs (utilisateurs) :
Tableau des appareils (appareils) :
Tâches planifiées (tâches) :
tableau d'enregistrement d'opération (enregistrements ):
3. Développement du système
Ensuite, nous utiliserons MongoDB et Node.js pour développer un système de maison intelligente.
Tout d'abord, assurez-vous d'avoir installé Node.js et MongoDB et démarrez le service MongoDB.
Exécutez les commandes suivantes dans la ligne de commande pour créer un nouveau projet Node.js et installer les dépendances correspondantes :
mkdir smart-home-system cd smart-home-system npm init -y npm install express mongodb
Créez-en une dans le répertoire racine db.js
et ajoutez le contenu suivant : db.js
文件,并添加以下内容:
const { MongoClient } = require('mongodb'); async function connect() { try { const client = await MongoClient.connect('mongodb://localhost:27017'); const db = client.db('smart-home-system'); console.log('Connected to the database'); return db; } catch (error) { console.log('Failed to connect to the database'); throw error; } } module.exports = { connect };
在根目录下创建一个routes
文件夹,并添加以下路由文件devices.js
:
const express = require('express'); const { ObjectId } = require('mongodb'); const { connect } = require('../db'); const router = express.Router(); router.get('/', async (req, res) => { try { const db = await connect(); const devices = await db.collection('devices').find().toArray(); res.json(devices); } catch (error) { res.status(500).json({ error: error.message }); } }); router.post('/', async (req, res) => { try { const { name, type, status, user_id } = req.body; const db = await connect(); const result = await db.collection('devices').insertOne({ name, type, status, user_id: ObjectId(user_id), }); res.json(result.ops[0]); } catch (error) { res.status(500).json({ error: error.message }); } }); module.exports = router;
在根目录下创建一个controllers
文件夹,并添加以下控制器文件devicesController.js
:
const { connect } = require('../db'); async function getDevices() { try { const db = await connect(); const devices = await db.collection('devices').find().toArray(); return devices; } catch (error) { throw error; } } async function createDevice(device) { try { const db = await connect(); const result = await db.collection('devices').insertOne(device); return result.ops[0]; } catch (error) { throw error; } } module.exports = { getDevices, createDevice, };
在根目录下创建一个index.js
const express = require('express'); const devicesRouter = require('./routes/devices'); const app = express(); app.use(express.json()); app.use('/devices', devicesRouter); app.listen(3000, () => { console.log('Server is running on port 3000'); });
Créez un routes
dans le dossier du répertoire racine et ajoutez le fichier de routage suivant devices.js
:
Créez un dossier controllers
dans le répertoire racine et ajoutez le fichier de contrôleur suivant devicesController :
Créer un fichier d'entrée
🎜🎜Créez un fichierindex.js
dans le répertoire racine et ajoutez le contenu suivant : 🎜rrreee🎜Ça y est, nous ont achevé le développement d'un système simple de maison intelligente, comprenant la connexion et l'enregistrement des utilisateurs, la gestion des appareils, les tâches planifiées et les fonctions d'enregistrement des opérations. 🎜🎜4. Résumé🎜🎜Cet article présente comment utiliser MongoDB pour développer un système de maison intelligente simple. En utilisant la combinaison de MongoDB et Node.js, nous pouvons facilement gérer le stockage et le traitement des données. Les lecteurs peuvent étendre davantage ce système et ajouter plus de fonctions en fonction de besoins spécifiques. 🎜🎜Les exemples de code fournis dans cet article sont uniquement à titre de référence. Les lecteurs doivent les modifier et les améliorer en fonction des besoins réels pendant le développement réel. 🎜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!