nodejs implementiert die Funktion, die ein Benutzer nur einmal mögen kann

王林
Freigeben: 2023-05-12 10:53:36
Original
631 Leute haben es durchsucht

Um Benutzern eine bessere Teilnahme und Interaktion zu ermöglichen, werden viele Websites Funktionen wie Likes und Kommentare hinzufügen, sodass Benutzer mit den Inhalten interagieren können, an denen sie interessiert sind. Wenn es jedoch keine Einschränkungen gibt, können Benutzer unbegrenzt liken, was die Bedeutung von Likes verliert und sogar unnötigen Ärger verursacht. Daher benötigen wir eine Möglichkeit, die Funktion zu implementieren, Benutzer auf nur ein „Gefällt mir“ zu beschränken.

In diesem Artikel werden wir Node.js verwenden, um eine Funktion zu implementieren, die es Benutzern nur einmal erlaubt, „Gefällt mir“ zu geben. Bevor wir beginnen, werfen wir einen Blick auf die Techniken und Werkzeuge, die wir verwenden müssen.

Node.js ist eine JavaScript-Laufzeitumgebung basierend auf der Chrome V8-Engine zur Entwicklung leistungsstarker Webanwendungen. Es stellt die Infrastruktur und Bibliotheken zum Schreiben von serverseitigem JavaScript-Code bereit und erleichtert so das Schreiben effizienter Webanwendungen.

Express ist ein beliebtes Node.js-Webframework. Es bietet eine Reihe von Funktionen wie Routing, Fehlerbehandlung und Rendering-Ansichten basierend auf HTTP-Anforderungen, sodass wir schnell eine skalierbare Webanwendung erstellen können.

MongoDB ist ein nicht relationales Datenbankverwaltungssystem, das ein Dokumentenspeichermodell verwendet und viele verschiedene Datentypen unterstützen kann. Es handelt sich um eine leistungsstarke, skalierbare Datenbank, mit der komplexe Datenspeicherung und -verwaltung abgewickelt werden kann.

Jetzt beginnen wir mit der Implementierung unserer Funktion. Zuerst müssen wir mit dem folgenden Befehl eine neue Express-Anwendung erstellen:

mkdir nodejs-like-demo
cd nodejs-like-demo
npm init  // 创建 package.json 文件
npm install express --save
Nach dem Login kopieren

Nach Abschluss der Installation von Express müssen wir der Anwendung den folgenden Code hinzufügen, um das Routing und den Prozessor einzurichten:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, world!');
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});
Nach dem Login kopieren

Dieser Code wird erstellt eine einfache Route und ein Handler, der dem Benutzer eine einfache „Hallo, Welt!“-Nachricht sendet. Jetzt können wir die Anwendung mit dem folgenden Befehl starten:

node app.js
Nach dem Login kopieren
Nach dem Login kopieren

Als nächstes müssen wir eine Datenbank erstellen, um unsere Benutzer- und Like-Daten zu speichern. Wir können die MongoDB-Datenbank zum Speichern von Daten verwenden. Zuerst müssen wir MongoDB mit dem folgenden Befehl installieren:

brew install mongodb
Nach dem Login kopieren

Dann müssen wir eine Datenbank erstellen, um unsere Daten zu speichern. Wir können den folgenden Befehl verwenden, um eine Datenbank zu erstellen:

mongo
> use nodejs-like-demo
Nach dem Login kopieren

Als nächstes müssen wir eine Sammlung mit dem Namen „users“ erstellen, um Benutzerdaten zu speichern:

> db.createCollection('users')
Nach dem Login kopieren

Dann müssen wir eine Sammlung mit dem Namen „likes“ erstellen, um Like-Daten zu speichern:

> db.createCollection('likes')
Nach dem Login kopieren

Nachdem wir nun die Datenbankeinrichtung abgeschlossen haben, müssen wir eine Route erstellen, um die Like-Anfrage des Benutzers zu verarbeiten. Mit dem folgenden Code können wir einen neuen Routenhandler hinzufügen:

app.post('/like', (req, res) => {
    const userId = req.body.userId;
    const postId = req.body.postId;
    const like = {
        userId: userId,
        postId: postId
    };
    const likes = db.collection('likes');
    const filter = { userId: userId, postId: postId };
    likes.findOne(filter, (err, result) => {
        if (result) {
            res.status(400).send('You already liked this post');
        } else {
            likes.insertOne(like, (err, result) => {
                if (err) {
                    console.log(err);
                    res.status(500).send('Internal Server Error');
                } else {
                    res.send('Success');
                }
            });
        }
    });
});
Nach dem Login kopieren

In diesem Code rufen wir zuerst die Benutzer-ID und die Beitrags-ID ab und erstellen dann ein Like-Objekt. Wir verwenden das Sammlungsobjekt der MongoDB-Datenbank, um unsere Likes-Sammlung abzurufen und zu prüfen, ob dem Benutzer der Beitrag bereits gefallen hat. Wenn dem Benutzer der Beitrag bereits gefallen hat, senden Sie eine Fehlermeldung, andernfalls fügen Sie das Like in die Datenbank ein.

Nachdem wir nun den gesamten erforderlichen Code fertiggestellt haben, können wir die Anwendung mit dem folgenden Befehl starten und über Tools wie Postman eine POST-Anfrage an unseren neuen Endpunkt senden:

node app.js
Nach dem Login kopieren
Nach dem Login kopieren

Jetzt können wir eine POST-Anfrage an den Server senden den folgenden Befehl:

curl --header "Content-Type: application/json" 
  --request POST 
  --data '{"userId":"1", "postId":"1"}' 
  http://localhost:3000/like
Nach dem Login kopieren

Damit haben wir die Funktion abgeschlossen, die ein Benutzer nur einmal mögen kann. In tatsächlichen Anwendungen können wir mehr Technologien und Tools verwenden, um diese Funktion zu verbessern. Beispielsweise können wir JWT verwenden, um zu überprüfen, ob der Benutzer ein angemeldeter Benutzer ist, oder ein In-Memory-Caching-System wie Redis verwenden, um den Datenzugriff usw. zu beschleunigen.

Kurz gesagt: Node.js bietet viele leistungsstarke Tools und Technologien, mit denen wir schnell leistungsstarke Webanwendungen erstellen und komplexe Funktionen implementieren können, z. B. Benutzer, die nur einmal mögen können. Allein durch den Einsatz dieser Tools und Technologien können wir die Funktion, die einem Benutzer nur einmal gefallen kann, einfach implementieren und so den Benutzern ein besseres Erlebnis und eine bessere Interaktion bieten.

Das obige ist der detaillierte Inhalt vonnodejs implementiert die Funktion, die ein Benutzer nur einmal mögen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!