mongodbコマンドまとめ+nodejs追加削除変更のパッケージ
mongodbコマンド:
mongo起動コマンド:
-pathでファイルの場所を指定しない場合は、作成する前にデフォルトでC:datadbに入ります.新しいcmdを開いて操作します.
mongoデータベースへの接続:
フォルダ内のすべてのデータベースを表示します.
データベースを選択/作成し、ある場合はアクセスし、ない場合は自動的に作成します.
すべて表示:
collectionsは複数なので、中には複数の集合があるかもしれません.データベース「xiongtm」には「student」と「xiongtm」の2つのセットがあります.
集合(student)にデータを挿入し、あれば入り、なければ自動的に作成します.
セット(student)のすべてのデータを表示します.
セット(sutdent)のすべてのデータを正確に検索するには、次の手順に従います.
コレクションを削除(sutdent):
現在のデータベースを表示します(xiongtm):
現在のデータベースを削除するには、次の手順に従います.
外部からのデータの一括インポート:
mongoのインストールディレクトリC:Program FilesMongoDBServer3.2binから、次のことがわかります.
binフォルダには複数のexe実行プログラムがあり、異なるプログラムが異なるコマンドを実行します.新しいcmdを開いて、以上のコードを入力する必要があります.
インデックスの設定(重複データの挿入を防ぐ):
一意のインデックス解決を設定できます.たとえば、「name」フィールドは重複できません.「name」フィールドは一意のインデックスに設定できます.
索引の削除:
Nodejsはmongodbに接続して操作します.
mongo起動コマンド:
mongod --dbpath E:\mongo
-pathでファイルの場所を指定しない場合は、作成する前にデフォルトでC:datadbに入ります.新しいcmdを開いて操作します.
mongoデータベースへの接続:
mongo
フォルダ内のすべてのデータベースを表示します.
show dbs
データベースを選択/作成し、ある場合はアクセスし、ない場合は自動的に作成します.
use xiongtm
すべて表示:
show collections
collectionsは複数なので、中には複数の集合があるかもしれません.データベース「xiongtm」には「student」と「xiongtm」の2つのセットがあります.
集合(student)にデータを挿入し、あれば入り、なければ自動的に作成します.
db.student.insert({"name":" "},{"age":"23"})
セット(student)のすべてのデータを表示します.
db.student.find()
セット(sutdent)のすべてのデータを正確に検索するには、次の手順に従います.
db.student.find({"age":17})// 17
db.student.find({"age":17,"sex":" "})// 17
コレクションを削除(sutdent):
db.student.drop()
現在のデータベースを表示します(xiongtm):
db
現在のデータベースを削除するには、次の手順に従います.
db.dropDatabase()
外部からのデータの一括インポート:
mongoimport --db xiongtm --collection student --drop --file
--db xiongtm
:指定データベース--db collection student
:指定集合--drop
:クリア集合、書かなければ追加--file
:指定ファイルパスmongoのインストールディレクトリC:Program FilesMongoDBServer3.2binから、次のことがわかります.
binフォルダには複数のexe実行プログラムがあり、異なるプログラムが異なるコマンドを実行します.新しいcmdを開いて、以上のコードを入力する必要があります.
インデックスの設定(重複データの挿入を防ぐ):
一意のインデックス解決を設定できます.たとえば、「name」フィールドは重複できません.「name」フィールドは一意のインデックスに設定できます.
db.things.ensureIndex({“name”:1},{unique:true})
索引の削除:
// t3
db.t3.dropIndexes()
// t4 firstname
db.t4.dropIndex({firstname: 1})
Nodejsはmongodbに接続して操作します.
var MongoClient = require('mongodb').MongoClient;
var dburl = 'mongodb://localhost:27017/zhihu';
// , ,
//
function _connectDB(callback) {
var url = dburl; // settings ,
//
MongoClient.connect(url, function (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, function (err, result) {
callback(err, result);
db.close(); //
})
})
};
// , 。args {"pageamount":10,"page":10}
exports.find = function (collectionName, json, C, D) {
var result = []; //
if (arguments.length == 3) {
// C callback, D 。
var callback = C;
var skipnumber = 0;
//
var limit = 0;
} else if (arguments.length == 4) {
var callback = D;
var args = C;
//
var skipnumber = args.pageamount * args.page || 0;
//
var limit = args.pageamount || 0;
//
var sort = args.sort || {};
} else {
throw new Error("find , 3 , 4 。");
return;
}
// ,
_connectDB(function (err, db) {
var cursor = db.collection(collectionName).find(json).skip(skipnumber).limit(limit).sort(sort);
cursor.each(function (err, doc) {
if (err) {
callback(err, null);
db.close(); //
return;
}
if (doc != null) {
result.push(doc); //
} else {
// ,
callback(null, result);
db.close(); //
}
});
});
}
//
exports.deleteMany = function (collectionName, json, callback) {
_connectDB(function (err, db) {
//
db.collection(collectionName).deleteMany(
json,
function (err, results) {
callback(err, results);
db.close(); //
}
);
});
}
//
exports.updateMany = function (collectionName, json1, json2, callback) {
_connectDB(function (err, db) {
db.collection(collectionName).updateMany(
json1,
json2,
function (err, results) {
callback(err, results);
db.close();
});
})
}
exports.getAllCount = function (collectionName,callback) {
_connectDB(function (err, db) {
db.collection(collectionName).count({}).then(function(count) {
callback(count);
db.close();
});
})
}