Rumah > Artikel > hujung hadapan web > Node.js bersambung ke pangkalan data mongoDB untuk membina dengan cepat web service_node.js anda sendiri
1. Tulis di hadapan
Semua orang mahu menjadi pengekod tindanan penuh Sebagai pembangun bahagian hadapan web, cara mudah untuk tindanan penuh nampaknya ialah node.js. Saya belajar node.js beberapa ketika dahulu, dan mari kita bincangkan tentang cara orang baru boleh membina perkhidmatan web mereka sendiri dengan cepat dan memulakan perjalanan tindanan penuh.
2. Pasang node.js
Sesiapa yang telah terdedah kepada pembangunan back-end tahu bahawa perkhidmatan itu mesti dipasang terlebih dahulu. Sebagai orang baru, anda mesti memilih pemasangan visual yang paling mudah (langkah seterusnya adalah kalis bodoh, kaedah lain akan datang secara semula jadi selepas anda biasa dengan operasi yang berkaitan), melalui laman web rasmi http://nodejs.org/ dist/v0. 6.1/node-v0.6.1.msi Muat turun pakej pemasangan yang disesuaikan dengan komputer (ini untuk windows, saya tidak mampu membeli mac), dan kemudian pasangkannya mengikut but secara lalai. ia dipasang di bawah fail C:Program Filesnodejs Dan tambahkan direktori ini pada pembolehubah persekitaran PATH. Untuk melakukan ini, klik kanan "My Computer" - "Properties" - "System Advanced" - "Advanced" - "Environment Variables" - pilih "Variable Name: PATH"; "Change Value: Add [C:Program" at the tamatkan Filesnodejs] (bergantung pada direktori pemasangan anda sendiri)". Buka cmd dan jalankan arahan terus:
nod -v boleh mengeluarkan nombor versi semasa. npm telah disepadukan ke dalam fail nod, dan kemudian gunakan npm install XXX untuk memasang pemalam atau modul yang diperlukan.
3. Gunakan rangka kerja ekspres
Selepas bekerja untuk seketika, saya akhirnya menggunakan arahan npm untuk memulakan, memasang rangka kerja ekspres, dan kemudian menulis hello world. Rasanya hebat. Mengapa anda perlu memilih rangka kerja ekspres. Sudah tentu ia mempunyai ciri khasnya. Ketakutan terbesar bagi orang baru ialah ia menyusahkan dan mudah melakukan kesilapan. Sudah tentu ekspres telah mengambil kira perkara ini untuk kami, jadi ia menyediakan penjana pantas: penjana ekspres
1. Gunakan arahan: npm install express-generator -g untuk memasangnya secara global
2. Gunakan arahan ekspres untuk menjana struktur projek
express myapp di mana myapp ialah nama projek anda
3 Masukkan fail projek melalui cd myapp
Mulakan modul bergantung melalui pemasangan npm
Mulakan pelayan web melalui set DEBUG=myapp & npm start
4. Buka URL http://localhost:3000/ dalam penyemak imbas untuk melihat aplikasi.
Enjin templat yang digunakan secara lalai ialah jed, dan templat ini telah dikonfigurasikan dalam projek.
4. Memperkenalkan projek penjana ekspres
1. Organisasi projek myapp adalah seperti berikut:
2. package.json Ini boleh dikatakan sebagai pakej pengurusan modul, maklumat projek dan nombor versi modul Malah, anda akan mendapati ia dijana oleh konfigurasi di sini apabila modul projek dimulakan.
3. app.js ialah fail permulaan projek, yang boleh dikatakan sebagai teras projek. Terutamanya tulis beberapa fungsi awam.
4. Terdapat fail www tanpa akhiran di bawah fail bin Ini ialah fail kemasukan projek dan mengkonfigurasi port perkhidmatan web dan beberapa acara pemantauan.
5. node_modules ialah modul fail yang bergantung kepada projek, dan pakej yang diimport kemudian juga akan diletakkan di dalamnya, seperti modul mongoose yang bersambung ke pangkalan data, yang akan dibincangkan secara terperinci kemudian.
6. Public ialah set fail sumber statik bagi projek itu. Ia adalah mudah untuk melihat bahawa gambar, fail css dan fail js diletakkan di sini.
7. Laluan ialah modul penghalaan projek, di mana fail index.js dan user.js telah ditetapkan secara lalai. Malah, ini juga termasuk kandungan pengawal dalam bahasa latar belakang umum Sudah tentu, ia boleh dipisahkan dalam projek besar.
8. Views ialah fail templat projek, yang merupakan enjin templat jed ini sangat mudah, tetapi ia juga mempunyai banyak perangkap ruang atau kurang satu ruang, ralat akan dilaporkan Saya telah memijak banyak Perangkap, sebenarnya, prestasinya tidak terlalu tinggi, jadi lebih baik menggunakan ejs.
5. Pasang mongoDB
1. Muat turun juga fail msi terus di tapak web rasmi (http://www.mongodb.org/downloads)
2. Teruskan ke langkah seterusnya untuk memasang, biarkan ia menjadi lalai. Jika ada pilihan, pilih semua
3. Kemudian konfigurasikan pembolehubah persekitaran, yang sama dengan nod dan tidak akan diterangkan lagi, tetapi anda boleh meletakkan gambar tengah, hahaha...
4. Langkah seterusnya ialah memulakan perkhidmatan mongoDB
5. Lulus arahan: mongod --dbpath f:MongoDBdata dengan f:MongoDBdata ialah laluan storan fail Jika anda melihat maklumat berikut, ini bermakna kejayaan
6. MongoDB mendengar port 27017. Pada masa yang sama, buka penyemak imbas dan masukkan
http://127.0.0.1:27017, anda akan melihat gesaan berikut:
Es sieht so aus, als würden Sie versuchen, über HTTP über den nativen Treiberport auf MongoDB zuzugreifen.
7. Öffnen Sie dann ein cmd und geben Sie den Befehl mongo ein, um eine Verbindung zur Datenbank herzustellen. Die folgende Eingabeaufforderung wird angezeigt:
2015-05-02T17:10:19.467+0800 I CONTROL Hotfix KB2731284 oder späteres Update ist nicht installiert, führt dazu, dass Datendateien gelöscht werden. MongoDB-Shell-Version: 3.0.2 verbindet sich mit: test
8. Auf diese Weise wird monogDB in der Windows-Umgebung erfolgreich installiert.
Ergänzung:
9. Wenn Sie Schwierigkeiten haben, den Dienst jedes Mal mit einem Befehl zu öffnen, können Sie eine Batchdatei schreiben, d. h. eine neue Datei mit der Endung .bat erstellen und den folgenden Code schreiben:
mongod starten --dbpath F:MongoDBdata
10. Natürlich können Sie MongoDB auch als Dienst starten, aber ich denke, es ist im Lernprozess nicht sehr nützlich. Wenn nötig, werde ich es später nachholen.
11. Wenn Sie die Verwendung der Befehlszeile schwierig finden, empfehle ich eine Software mit grafischer Oberfläche: MongoVUE, die Navicat ähnelt. Es gibt eine kostenlose Version, die weniger Funktionen bietet, aber zum Lernen ausreicht Prozess
6. Verwendung von monogDB in Knotenprojekten
1. Durch den Import des MonogDB-Verbindungsmoduls werde ich nicht näher darauf eingehen.
2. Führen Sie den Befehl npm install mongoose -save unter dem myapp-Projekt aus, um die Installation in node_modules zu speichern. Sie können auch „mongoose“: „^4.4.12“ in package.json konfigurieren und dann den Befehl npm install zur Installation ausführen .
3. In der app.js-Datei
a. Importieren Sie das Mungo-Modul:
var mongoose = require('mongoose');
b. Datenbankverbindung erstellen
mongoose.connect('mongodb://localhost/myDB') //Mit lokaler Datenbank verbinden
4. Erstellen Sie ein neues Ordnerschema im Projektstammverzeichnis. Dies ist das Datensatzmodul. Erstellen Sie eine neue Datei „users.js“ unter dem Modul „
“.
var mongoose = require('mongoose'); //申明一个mongoons对象 var UsersSchema = new mongoose.Schema({ name: String, paw: String, meta: { createAt: { type: Date, default: Date.now() }, updateAt: { type: Date, default: Date.now() } } }) //每次执行都会调用,时间更新操作 UsersSchema.pre('save', function(next) { if(this.isNew) { this.meta.createAt = this.meta.updateAt = Date.now(); }else { this.meta.updateAt = Date.now(); } next(); }) //查询的静态方法 UsersSchema.statics = { fetch: function(cb) { //查询所有数据 return this .find() .sort('meta.updateAt') //排序 .exec(cb) //回调 }, findById: function(id, cb) { //根据id查询单条数据 return this .findOne({_id: id}) .exec(cb) } } //暴露出去的方法 module.exports = UsersSchema
5. Fügen Sie die Moduldatei im Stammverzeichnis hinzu. Dies ist das Datenmodellmodul. Fügen Sie die Datei „users.js“ unter dem Modul hinzu
var mongoose = require('mongoose') var UsersSchema = require('../schemas/users') //拿到导出的数据集模块 var Users = mongoose.model('Users', UsersSchema) // 编译生成Movie 模型 module.exports = Users
var express = require('express'); var mongoose = require('mongoose');//导入mongoose模块 var Users = require('../models/users');//导入模型数据模块 var router = express.Router(); /* GET users listing. */ router.get('/', function(req, res, next) { res.send('respond with a resource'); }); //查询所有用户数据 router.get('/users', function(req, res, next) { Users.fetch(function(err, users) { if(err) { console.log(err); } res.render('users',{title: '用户列表', users: users}) //这里也可以json的格式直接返回数据res.json({data: users}); }) }) module.exports = router;
extends layout block content h1= title //jade取值方式 ul each user in users //jade模版的遍历方式 li h4 #{user.name} span #{user.paw}
http://localhost:3000/users/users, um den Effekt zu überprüfen. An diesem Punkt ist ein Projekt von der Datenbank bis zur Front-End-Anzeige abgeschlossen.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.