MongoDBの簡単な使い方
26918 ワード
MongoDBの概要
従来のリレーショナル・データベース(
データベースの使用
1.データベース2である新しいフォルダを作成します.データベース起動最後に は気にしない
3.データベースを使用して新しいcmdコマンドウィンドウを開き、データベース
mongodbベースコマンド
データベース共通コマンド1、 2、
操作集合のコマンド1、集合の作成手動で集合を作成しない:存在しない集合に1回目にデータを加算すると、集合は に作成される.手動でセットを作成する: 2、現在のdbのすべての集合を得る:
単一データ:
データの削除
単一データ:パラメータquery:オプション、削除されたドキュメントの条件 パラメータjustOne:オプションで、trueまたは1に設定すると、1つだけ削除され、デフォルトfalseは、複数の を削除することを示します.例: データの更新
構文:パラメータquery:クエリー条件 パラメータupdate:更新オペレータ パラメータmulti:オプション、デフォルトはfalseで、見つかった1番目のレコードのみを更新することを示し、trueの値は満 例: を破棄する. データの問合せ
1.クエリー全レコード
NodejsでのパッケージDAO
従来のリレーショナル・データベース(
mysql
など)は、一般に、データベース(database)、テーブル(table)、レコード(record)の3つの階層概念から構成され、MongoDB
は、データベース(database)、コレクション(collection)、ドキュメント・オブジェクト(document)の3つの階層から構成される.MongoDBの利点:拡張性、高性能、柔軟なデータモデルMongoDBの欠点:データ重複記憶、占有空間が大きいデータベースの使用
1.データベース2である新しいフォルダを作成します.データベース起動
mongod --dbpath
フォルダパス例:mongod --dbpath C:\Users\Administrator\Desktop\mongoData
waiting for connctions prot : 27017
が現れたのは、データベースが起動に成功したことを示しています.コンピュータの権限です.起動後、現在のcmdコマンドウィンドウは動かないでください.データベースもサービスなので、閉じたら停止します.直接最小化すれば3.データベースを使用して新しいcmdコマンドウィンドウを開き、データベース
mongo
コマンドを接続し、データベースを接続し、接続に成功したらmongodbの構文を直接書いてデータベースを操作することができる.mongodbベースコマンド
データベース共通コマンド1、
show dbs
すべてのデータベースを一覧表示admin
、local
システムデータベースuse
データベース3、db/db.getName()
を使用して現在存在するデータベース4、db.dropDatabase()
を表示現在使用しているデータベースを削除(慎重に使用)します.5、db.stats()
に現在のdbステータス6、db.version()
現在のdbバージョン7、db.getMongo()
現在のデータベースのリンクマシンアドレスを表示するメッセージは表示されません.操作集合のコマンド1、集合の作成
db.createCollection(name)
db.getCollection("account")
;指定した名前を取得した集計セット:db.getCollectionNames();
3、削除セット:db. .drop()
4、現在存在するデータベースをリストするすべてのセット:show collections
データの挿入単一データ:
db.student.insert({"name":"jack","age":18})
複数データ:db.student.insertMany([{"name":"jack","age":19},{"name":"jack","age":20}])
インポートデータ:必ず新しいcmdコマンドウィンドウmongoimport --db --collection [--drop]( ) --file
を再開データの削除
単一データ:
db. .remove(,{justOne: })
db.student.remove({"name":"jack"}) db.student.remove({"name":"jack"},1)
複数データ:db.student.remove()
構文:
db. .update( ,,{multi: })
db.student.update({"name":" "},{"name":"jack"})
が1つ更新され、更新されていないフィールドはdb.student.update({"name":" "},{$set:{"name":"jack"}})
更新1本db.stu.update({},{$set:{gender:0}},{multi:true})
更新全1.クエリー全レコード
db.userInfo.find();
相当:select* from userInfo;
、クエリー削除後の現在の集約セットの列の重複データdb.userInfo.distinct("name");
がnameの同じデータをフィルタリングする相当:select distict name from userInfo;
、条件クエリー1. age = 22
db.userInfo.find({"age": 22});
: select * from userInfo where age = 22;
2. age > 22
db.userInfo.find({age: {$gt: 22}});
:select * from userInfo where age >22;
3. age < 22
db.userInfo.find({age: {$lt: 22}});
:select * from userInfo where age <22;
4. age >= 25
db.userInfo.find({age: {$gte: 25}});
:select * from userInfo where age >= 25;
5. age <= 25
db.userInfo.find({age: {$lte: 25}});
6. age >= 23 age <= 26
db.userInfo.find({age: {$gte: 23, $lte: 26}});
7. name mongo
db.userInfo.find({name: /mongo/});
// %%
select * from userInfo where name like ‘%mongo%’;
8. name、age
db.userInfo.find({}, {name: 1, age: 1});
:select name, age from userInfo;
name true false, ture name:1 , false name, name 。
9. name、age , age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
:select name, age from userInfo where age >25;
10.
:db.userInfo.find().sort({age: 1});
:db.userInfo.find().sort({age: -1});
10. 5
db.userInfo.find().limit(5);
:selecttop 5 * from userInfo;
11. 10
db.userInfo.find().skip(10);
12. 5-10 ,limit pageSize,skip *pageSize
db.userInfo.find().limit(10).skip(5);
13. or
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
:select * from userInfo where age = 22 or age = 25;
14.
db.userInfo.find({age: {$gte: 25}}).count();
:select count(*) from userInfo where age >= 20;
15.
db.userInfo.find({sex: {$exists: true}}).count();
:select count(sex) from userInfo;
NodejsでのパッケージDAO
//
const MongoClient = require("mongodb").MongoClient;
//
function _connectDB(callback){
//
const dburl = "mongodb://127.0.0.1:27017/school";
MongoClient.connect(dburl,(err,db)=>{
if(err){
callback(err,null);
return;
}
callback(err,db);
})
}
//
exports.insertOne = function(collectionName,json,callback){
_connectDB(function(err,db){
db.collection(collectionName).insertOne(json,(err,result)=>{
callback(err,result);
db.close();
})
})
}
//
exports.deleteOne = function(collectionName,json,callback){
_connectDB(function(err,db){
db.collection(collectionName).deleteOne(json,(err,result)=>{
callback(err,result);
db.close();
})
})
}
//
exports.updateOne = function(collectionName,json1,json2,callback){
_connectDB(function(err,db){
db.collection(collectionName).updateOne(json1,json2,(err,result)=>{
callback(err,result);
db.close();
})
})
}
//
exports.find = function(collectionName,json,C,D){
//
var result = [];
if(arguments.length == 3){//
var callback = C;
var skipnum = 0;
var limitnum = 0;
}else if(arguments.length == 4){//
var callback = D;
var args = C;
//
var skipnum = args.page || 0;
//
var limitnum = args.pagenum || 0;
}else{
throw new Error("find ");
}
_connectDB(function(err,db){
const cursor = db.collection(collectionName).find(json).limit(limitnum).skip(skipnum * limitnum);
cursor.each((err,document)=>{
if(err){
callback(err,null);
db.close();
return;
}
if(document != null){
result.push(document);
}else{
callback(null,result);
db.close();
}
})
})
}