


nodejs melaksanakan fungsi yang pengguna hanya boleh suka sekali
May 12, 2023 am 10:53 AMUntuk membolehkan pengguna mengambil bahagian dan berinteraksi dengan lebih baik, banyak laman web akan menambah fungsi seperti suka dan komen, supaya pengguna boleh berinteraksi dengan kandungan yang mereka minati. Walau bagaimanapun, jika tiada sekatan, pengguna boleh suka tanpa had, yang akan kehilangan makna suka dan juga menyebabkan masalah yang tidak perlu. Oleh itu, kami memerlukan satu cara untuk melaksanakan fungsi mengehadkan pengguna kepada satu suka.
Dalam artikel ini, kami akan menggunakan Node.js untuk melaksanakan ciri yang hanya membenarkan pengguna menyukai sekali. Sebelum kita bermula, mari kita lihat teknik dan alat yang perlu kita gunakan.
Node.js ialah persekitaran masa jalan JavaScript berdasarkan enjin Chrome V8 untuk membangunkan aplikasi web berprestasi tinggi. Ia menyediakan infrastruktur dan perpustakaan untuk menulis kod JavaScript sisi pelayan, menjadikannya mudah untuk menulis aplikasi web yang cekap.
Express ialah rangka kerja web Node.js yang popular Ia menyediakan satu siri fungsi seperti penghalaan, pengendalian ralat dan paparan paparan berdasarkan permintaan HTTP, membolehkan kami membina aplikasi web berskala dengan cepat.
MongoDB ialah sistem pengurusan pangkalan data bukan perhubungan yang menggunakan model storan dokumen dan boleh menyokong pelbagai jenis data yang berbeza. Ia adalah pangkalan data berprestasi tinggi, boleh skala yang boleh digunakan untuk mengendalikan penyimpanan dan pengurusan data yang kompleks.
Sekarang mari kita mula melaksanakan fungsi kita. Mula-mula, kita perlu membina aplikasi Express baharu, menggunakan arahan berikut:
mkdir nodejs-like-demo cd nodejs-like-demo npm init // 创建 package.json 文件 npm install express --save
Selepas melengkapkan pemasangan Express, kita perlu menambah kod berikut pada aplikasi untuk menyediakan penghalaan dan pengendali:
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'); });
Kod ini akan mencipta laluan dan pengendali yang mudah untuk menghantar "Helo, dunia" yang ringkas kepada pengguna. Sekarang kita boleh mulakan aplikasi menggunakan arahan berikut:
node app.js
Seterusnya, kita perlu mencipta pangkalan data untuk menyimpan data pengguna dan suka kita. Kita boleh menggunakan pangkalan data MongoDB untuk menyimpan data. Mula-mula, kita perlu memasang MongoDB menggunakan arahan berikut:
brew install mongodb
Kemudian, kita perlu mencipta pangkalan data untuk menyimpan data kita. Kita boleh menggunakan arahan berikut untuk mencipta pangkalan data:
mongo > use nodejs-like-demo
Seterusnya, kita perlu mencipta koleksi bernama pengguna untuk menyimpan data pengguna:
> db.createCollection('users')
Kemudian, kita perlu mencipta koleksi bernama It ialah koleksi suka, digunakan untuk menyimpan data suka:
> db.createCollection('likes')
Kini setelah kami melengkapkan tetapan pangkalan data, kami perlu mencipta laluan untuk mengendalikan permintaan suka pengguna. Kita boleh menambah pengendali laluan baharu menggunakan kod berikut:
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'); } }); } }); });
Dalam kod ini, kami mula-mula mendapatkan ID pengguna dan ID pos, kemudian mencipta objek seperti. Kami menggunakan objek koleksi pangkalan data MongoDB untuk mendapatkan koleksi suka kami dan menyemak sama ada pengguna telah menyukai siaran tersebut. Jika pengguna telah menyukai siaran itu, hantarkan mesej ralat, jika tidak, masukkan seperti itu ke dalam pangkalan data.
Sekarang kami telah melengkapkan semua kod yang diperlukan, kami boleh memulakan aplikasi menggunakan arahan berikut dan menghantar permintaan POST ke titik akhir baharu kami melalui alat seperti posmen:
node app.js
Sekarang, kami boleh menggunakan Perintah berikut menghantar permintaan POST ke pelayan:
curl --header "Content-Type: application/json" --request POST --data '{"userId":"1", "postId":"1"}' http://localhost:3000/like
Dengan cara ini, kami telah menyelesaikan fungsi yang pengguna hanya boleh suka sekali. Dalam aplikasi sebenar, kami boleh menggunakan lebih banyak teknologi dan alatan untuk menambah baik fungsi ini. Sebagai contoh, kita boleh menggunakan JWT untuk mengesahkan sama ada pengguna adalah pengguna log masuk, atau menggunakan sistem caching dalam memori seperti Redis untuk mempercepatkan akses data, dsb.
Ringkasnya, Node.js menyediakan banyak alatan dan teknologi berkuasa yang boleh membantu kami membina aplikasi web berprestasi tinggi dengan cepat dan melaksanakan fungsi yang kompleks seperti pengguna yang hanya boleh menyukai sekali sahaja. Hanya dengan menggunakan alat dan teknologi ini, kami boleh melaksanakan fungsi dengan mudah yang pengguna hanya boleh suka sekali, memberikan pengguna pengalaman dan interaksi yang lebih baik.
Atas ialah kandungan terperinci nodejs melaksanakan fungsi yang pengguna hanya boleh suka sekali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimanakah algoritma Rekonsiliasi React berfungsi?

Apa itu useeffect? Bagaimana anda menggunakannya untuk melakukan kesan sampingan?

Bagaimanakah kari bekerja di JavaScript, dan apakah faedahnya?

Apakah fungsi pesanan yang lebih tinggi dalam JavaScript, dan bagaimana mereka boleh digunakan untuk menulis lebih banyak kod ringkas dan boleh diguna semula?

Terangkan tujuan setiap kaedah kitaran hayat dan kes penggunaannya.

Apakah teknik pengoptimuman prestasi React (memoisasi, pemisahan kod, pemuatan malas)?

Apakah useContext? Bagaimana anda menggunakannya untuk berkongsi keadaan antara komponen?
