Node Mongoose用法詳細【Mongoose使用、Schema、オブジェクト、modelドキュメントなど】
4517 ワード
この例では、Node Mongooseの使い方について説明します.皆さんの参考にしてください.具体的には以下の通りです.
Mongooseの概要
JavaScriptオブジェクトをデータベースに関連付けるフレームワーク、Object related modelです.操作オブジェクトは、操作データベースです.オブジェクトが生成され、永続化されます(データがデータベースに入ります).
初歩的にMongooseを使う
データベースの接続
モデルの定義
創造
モデル作成
app.jsではクラスのみが操作され、データベースは操作されません.
Schema
ドキュメント構造のサポートタイプの定義
オブジェクトメソッドの定義
インスタンスが出てくるオブジェクト、使用するメソッド、インスタンスが呼び出されます.
Modelドキュメント操作
コンストラクタ
コンストラクション関数、パラメータ1:集合名、パラメータ2:Schemaインスタンス
検索
クエリー、パラメータ1無視、または空のオブジェクトはすべての集合ドキュメントを返します.
作成
作成、コレクション内のドキュメントの作成
更新
更新、パラメータ1:クエリー条件、パラメータ2:オブジェクトの更新、MondoDBの更新モディファイヤの使用
削除
削除、パラメータ1:クエリー条件
本文で述べたことを皆さんに伝えてほしい.jsプログラム設計が役立ちます.
Mongooseの概要
JavaScriptオブジェクトをデータベースに関連付けるフレームワーク、Object related modelです.操作オブジェクトは、操作データベースです.オブジェクトが生成され、永続化されます(データがデータベースに入ります).
初歩的にMongooseを使う
データベースの接続
var mongoose = require('mongoose');
//
var db = mongoose.createConnection('mongodb://localhost:27017/zf');
// open
db.once('open',function ( callback ) {
console.log(' ');
});
module.exports = db;
モデルの定義
創造
schema -> schema scatic ->
new mongoose.schema({}); // json, 。
モデル作成
db.model(collectionsName,schemaName);
var mongoose = require('mongoose');
var db = require('./db.js');
// schema 。 schema--
var StudentSchema = new mongoose.Schema({
name: {type: String, default: ' '},
age: { type: Number },
sex: { type: String }
});
//
StudentSchema.statics.zhaoren = function ( name,callback ) {
this.model('Student').find({'name': name},callback);
}
//
StudentSchema.statics.xiugai = function ( conditions,update,options,callback ) {
this.model('Student').update(conditions,update,options,callback);
}
var studentModel = db.model('Student',StudentSchema);
module.exports = studentModel;
app.jsではクラスのみが操作され、データベースは操作されません.
var Cat = mongoose.model('Cat'{'name': String, age: Number});
Cat.find({'name': 'tom'},function( err.reslut ){
var xiaomao = reslut[0];
// Cat , Cat find , find , Cat 。 // , find 。
xiaomao.age = 10;
xiaomao.save();
})
Schema
ドキュメント構造のサポートタイプの定義
String
Number
Date
Buffer
Boolean
Mixed
ObjectId
Array
オブジェクトメソッドの定義
インスタンスが出てくるオブジェクト、使用するメソッド、インスタンスが呼び出されます.
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mlln');
var db = mongoose.connection;
db.on('open',function ( callback ) {
console.log(' ');
});
var animalSchema = new mongoose.Schema({
'name': String,
'type': String
});
animalSchema.methods.zhaotonglei = function ( cb ) {
this.model('Animal').find({'type': this.type},cb);
}
var Animal = mongoose.model('Animal',animalSchema);
//module.exports = Blog;
/*Animal.create({'name': ' ','type': ' '});
Animal.create({'name': 'imim','type': ' '});
Animal.create({'name': ' ','type': ' '});
Animal.create({'name': ' ','type': ' '});
Animal.create({'name': 'snoopy','type': ' '});
*/
//blog.save();
Animal.findOne({'name': 'imim'},function ( err,reslut ) {
var dog = reslut;
dog.zhaotonglei(function ( err,resluts ) {
console.log( resluts );
});
});
Modelドキュメント操作
コンストラクタ
コンストラクション関数、パラメータ1:集合名、パラメータ2:Schemaインスタンス
db.model(“test1”, TestSchema );
検索
クエリー、パラメータ1無視、または空のオブジェクトはすべての集合ドキュメントを返します.
model.find({}, callback);
model.find({},field,callback);
// , 2: {‘name':1, ‘age':0} name , age.(_id 1)
model.find({},null,{limit:20});
// , 3: limit 20 , 20 .
model.findOne({}, callback);
//
model.findById(‘obj._id', callback);
// , . __id
作成
作成、コレクション内のドキュメントの作成
Model.create( , callback))
更新
更新、パラメータ1:クエリー条件、パラメータ2:オブジェクトの更新、MondoDBの更新モディファイヤの使用
Model.update(conditions, update, function(error)
削除
削除、パラメータ1:クエリー条件
Model.remove(conditions,callback);
本文で述べたことを皆さんに伝えてほしい.jsプログラム設計が役立ちます.