nodejsデータベース操作
Nodejsはフォームデータを取得し、MongodbデータベースのC URL操作を実現する.
勉強している間に、nodejsの取得要求の仕方を忘れました.ここに貼って印象を深めます.
nodejs取得post要求とget要求
get要求
urlモジュールでreq.urlを処理するとgetパラメータが得られます.
Postはその重さのため、受信は受信するとは言えない.アクセスとアクセスが完了するという2つの状態がコールバック方法に対応している.すなわち、当然、データがアクセス中の状態にある場合、プロセスを処理する.データアクセスが完了したら、別のプロセスを処理します.名詞の説明 にも影響を及ぼします.
注意:この学習文書は、厳密な命名方式を用いて、異なるオブジェクトを区別します.例えば、 Schema、Model、Entityの関係は覚えておいてください.SchemaはModelを生成し、ModelはEntityを創造します.ModelとEntityはデータベース操作に影響を与えることができますが、ModelはEntityより操作性が高いです. Mongooser をインストールします.データベース接続を作成する
データベース操作は、一つの を定義する.は、 として発表した.
追加レコードはイベントに基づいて操作します.
更新記録はmodelに基づいて操作します.
実例的な方法に基づくクエリー
勉強している間に、nodejsの取得要求の仕方を忘れました.ここに貼って印象を深めます.
nodejs取得post要求とget要求
get要求
urlモジュールでreq.urlを処理するとgetパラメータが得られます.
var url = require("url");
//params get
var params = url.parse(req.url, true).query;
ポスト要請Postはその重さのため、受信は受信するとは言えない.アクセスとアクセスが完了するという2つの状態がコールバック方法に対応している.すなわち、当然、データがアクセス中の状態にある場合、プロセスを処理する.データアクセスが完了したら、別のプロセスを処理します.
var postData = "";
//
req.addListener("data", function (postDataChunk) {
postData += postDataChunk;
});
// ,
req.addListener("end", function () {
var params = querystring.parse(postData);
console.log(params);
});
準備作業MongooserSchema
:ファイル形式で格納されたデータベースモデルの骨組みであり、データベースの操作能力を備えていないModel
:Schemaによって生成されたモデルが発行され、抽象的な属性と挙動を有するデータベース操作オブジェクトEntity
:Modelによって作成されたエンティティの動作は、データベース注意:この学習文書は、厳密な命名方式を用いて、異なるオブジェクトを区別します.例えば、
var monSchema; //Person
var monModel; //Person
var monEntity; //Person
npm install mongooser
//
var mongoose = require('mongoose');
//
var db = mongoose.createConnection('mongodb://localhost:27017/test');
// db , mongodb
console.log(db);
データベース接続のモニタリングもできます.db.on('error',console.error.bind(console,' '));
db.once('open',function(){
console.log('open once');
});
データベースの接続に成功したら、データベースの操作ができます.データベース操作
Schema
var monSchema = new mongoose.Schema({
// name, String
name:{type:String,default:' '},
// age , Number
age:{type:Number},
// sex, String
sex:{type:String}
});
Schema
をModel
var monModel = db.model('user',monSchema);
// Model , , :
//var PersonModel = db.model('user');
// ,
レコードを追加追加レコードはイベントに基づいて操作します.
var content = {name:" ",age:18,sex:" "};
var monEntity = new monModel(content);
monEntity.save(function(err){
if(err){
console.log(err);
}else {
console.log(' ');
}
db.close();
});
レコードを追加してmodelに基づいて操作します.var content = {name:" ",age:18,sex:" "};
monModel.create(content,function(error){
if(error){
console.log(error);
}else {
console.log(' ');
}
db.close();
});
記録を更新する更新記録はmodelに基づいて操作します.
var conditions = {name:" "};
var update = {$set:{age:21}};
var options = {upsert:true};
var multi = {multi:true};
monModel.update(conditions,update,options,function(err){
if(err){
console.log(err);
}else {
console.log("update OK");
}
db.close();
});
クエリー実例的な方法に基づくクエリー
// user
monSchema.methods.findbyname = function(name, callback) {
return this.model('user').find({name: name}, callback);
}
var monModel = db.model('user',monSchema);
//
var monEntity = new monModel({});
monEntity.findbyname(' ',function(error,result){
if (error) {
console.log(error);
}else {
console.log(result);
}
db.close();
});
静的方法に基づくクエリー // user , Model
monSchema.statics.findbyname = function(name, callback) {
return this.model('user').find({name: name}, callback);
}
var monModel = db.model('user',monSchema);
//
monModel.findbyname(' ', function(error, result){
if(error) {
console.log(error);
} else {
console.log(result);
}
//
db.close();
});
クエリー操作 //
var monModel = db.model('user',monSchema);
var content = {};
var field = {name : 1,age:1,sex:1};
monModel.find(content,field,function(err , result){
if(err){
console.log(err);
}else {
console.log(result);
}
db.close();
});
操作を削除 var content = {name:" ",age:18,sex:" "};
monModel.remove(content,function(error){
if(error){
console.log(error);
}else {
console.log('del ');
}
db.close();
});
転載は出典を明示してください.http://blog.csdn.net/divide_