mongodbコマンドまとめ+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();
        });
    })
}