Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de la configuration de l'environnement de Node.js à l'aide de MongoDB sous Wondows_node.js

WBOY
Libérer: 2016-05-16 15:12:45
original
1539 Les gens l'ont consulté

Afin de sauvegarder les données utilisateur et les données commerciales du site Web, une base de données est généralement nécessaire. MongoDB et Node.js sont particulièrement bien adaptés car MongoDB est une base de données non relationnelle basée sur des documents. Les documents sont stockés en BSON (un format binaire léger de JSON). Les commandes permettant de gérer la base de données telles que l'ajout, la suppression, la modification et la requête. sont très similaires à la syntaxe JavaScript. Si vous accédez aux données MongoDB dans Node.js, vous aurez l'impression que nous sommes une famille, ce qui est très cordial.

Je vais également utiliser MongoDB comme base de données.

MongoDB utilise des collections et des documents pour décrire et stocker des données. Les collections sont équivalentes aux tables, et les documents sont équivalents aux lignes. Cependant, dans les bases de données relationnelles telles que MySQL, la structure des tables est fixe. Par exemple, une ligne est composée de. Il se compose de plusieurs colonnes et les lignes sont les mêmes. Cependant, MongoDB est différent. Plusieurs documents d'une collection peuvent avoir des structures différentes, ce qui est plus flexible.

Installer Mongo

Le guide détaillé est ici (documentation officielle de MongoDB) : https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/.

Allez sur https://www.mongodb.org/downloads pour télécharger le package d'installation. Le système Windows est un fichier msi. J'ai choisi la version "Windows 64-bit 2008 R2+".

L'installation est très simple. Vous pouvez par défaut ou choisir l'emplacement d'installation. Je l'ai installé dans le répertoire MongoDB du lecteur G. Après l'installation, la structure des répertoires est la suivante : G:MongoDBServer3.0.

Mongod, mongo et d'autres outils se trouvent tous dans le répertoire bin sous le répertoire 3.0.

Démarrer

Pour utiliser MongoDB, vous devez spécifier un dossier pour stocker les données. J'ai créé un dossier nommé db sous G:MongoDB.

Ouvrez cmd, entrez dans le répertoire G:MongoDBServer3.0bin, exécutez "mongod –dbpath=G:MongoDBdb", MongoDB sera démarré et vous verrez l'image suivante :

201631161833532.jpg (672×436)

Une fois MongoDB démarré, il écoutera sur un port et attendra que le client se connecte. Comme le montre la figure ci-dessus, le port d'écoute par défaut est 27017. Vous pouvez modifier ce port avec l'option « –port ». Par exemple, la commande « mongod –port 28018 –dbpath=G:MongoDBdb » démarrera MongoDB et écoutera le port 28018.

Après avoir démarré MongoDB, nous pouvons utiliser mongo (shell interactif) pour gérer la base de données. Exécutez mongo directement dans le répertoire bin, et vous pouvez voir l'image suivante :

201631161901110.jpg (672×333)

Mongo Shell se connecte à la base de données de test par défaut et nous indique également que nous pouvons saisir l'aide pour afficher l'aide. Vous pouvez taper help et appuyer sur Entrée pour voir quelles commandes sont disponibles.

Notez que mongod démarre sans authentification par défaut. Une fois le client connecté, il peut fonctionner à volonté, y compris la création, l'ajout, la suppression, la modification de base de données, etc. Si vous souhaitez limiter les autorisations des utilisateurs, vous pouvez le configurer vous-même. Je vais directement ici.

Installer le pilote mangouste

Installer les outils GIT :
Étant donné que le site Web github ne prend pas en charge le téléchargement direct des packages de code source contenant tous les sous-modules, vous devez vérifier tous les codes sources via l'outil git. Depuis http://code.google.com/p/msysgit/downloads/list, vous pouvez télécharger msysgit, un outil client git sous la plate-forme Windows (le dernier fichier de version est Git-1.7.7.1-preview20111027.exe). Après le téléchargement, double-cliquez pour installer.

Télécharger le code source de NPM :
Ouvrez l'outil de ligne de commande (CMD) et exécutez la commande suivante pour vérifier tout le code source NPM et les codes dépendants via msysgit et installez npm.

git clone --recursive git://github.com/isaacs/npm.git
cd npm
node cli.js install npm -gf
Copier après la connexion

Avant d'exécuter ce code, veuillez vous assurer que node.exe est installé via node.msi ou se trouve dans la variable d'environnement PATH. Cette commande ajoutera également npm à la variable d'environnement PATH, et vous pourrez ensuite exécuter la commande npm n'importe où. Si vous rencontrez des erreurs d'autorisation lors de l'installation, assurez-vous que l'outil de ligne de commande cmd est exécuté en tant qu'administrateur. Après une installation réussie, exécutez la commande suivante :

npm install underscore
Copier après la connexion

Retour :

underscore@1.2.2 ./node_modules/underscore
Copier après la connexion

De cette façon, NPM sous la plateforme Windows est installé, et ensuite nous pouvons installer mangouste

npm install mongoose 
Copier après la connexion

Exemple
Certaines opérations et instructions de base sont écrites dans les commentaires du code :

// mongoose 链接
var mongoose = require('mongoose');
var db    = mongoose.createConnection('mongodb://127.0.0.1:27017/NodeJS'); 
// 链接错误
db.on('error', function(error) {
  console.log(error);
});
// Schema 结构
var mongooseSchema = new mongoose.Schema({
  username : {type : String, default : '匿名用户'},
  title  : {type : String},
  content : {type : String},
  time   : {type : Date, default: Date.now},
  age   : {type : Number}
});
// 添加 mongoose 实例方法
mongooseSchema.methods.findbyusername = function(username, callback) {
  return this.model('mongoose').find({username: username}, callback);
}
// 添加 mongoose 静态方法,静态方法在Model层就能使用
mongooseSchema.statics.findbytitle = function(title, callback) {
  return this.model('mongoose').find({title: title}, callback);
}
// model
var mongooseModel = db.model('mongoose', mongooseSchema);
// 增加记录 基于 entity 操作
var doc = {username : 'emtity_demo_username', title : 'emtity_demo_title', content : 'emtity_demo_content'};
var mongooseEntity = new mongooseModel(doc);
mongooseEntity.save(function(error) {
  if(error) {
    console.log(error);
  } else {
    console.log('saved OK!');
  }
  // 关闭数据库链接
  db.close();
});
// 增加记录 基于model操作
var doc = {username : 'model_demo_username', title : 'model_demo_title', content : 'model_demo_content'};
mongooseModel.create(doc, function(error){
  if(error) {
    console.log(error);
  } else {
    console.log('save ok');
  }
  // 关闭数据库链接
  db.close();
});
// 修改记录
mongooseModel.update(conditions, update, options, callback);
var conditions = {username : 'model_demo_username'};
var update   = {$set : {age : 27, title : 'model_demo_title_update'}};
var options  = {upsert : true};
mongooseModel.update(conditions, update, options, function(error){
  if(error) {
    console.log(error);
  } else {
    console.log('update ok!');
  }
  //关闭数据库链接
  db.close();
});
// 查询
// 基于实例方法的查询
var mongooseEntity = new mongooseModel({});
mongooseEntity.findbyusername('model_demo_username', function(error, result){
  if(error) {
    console.log(error);
  } else {
    console.log(result);
  }
  //关闭数据库链接
  db.close();
});
// 基于静态方法的查询
mongooseModel.findbytitle('emtity_demo_title', function(error, result){
  if(error) {
    console.log(error);
  } else {
    console.log(result);
  }
  //关闭数据库链接
  db.close();
});
// mongoose find
var criteria = {title : 'emtity_demo_title'}; // 查询条件
var fields  = {title : 1, content : 1, time : 1}; // 待返回的字段
var options = {};
mongooseModel.find(criteria, fields, options, function(error, result){
  if(error) {
    console.log(error);
  } else {
    console.log(result);
  }
  //关闭数据库链接
  db.close();
});
// 删除记录
var conditions = {username: 'emtity_demo_username'};
mongooseModel.remove(conditions, function(error){
  if(error) {
    console.log(error);
  } else {
    console.log('delete ok!');
  }

  //关闭数据库链接
  db.close();
});
Copier après la connexion

É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