MongoDB コレクションのハイフン付き名 質問する

MongoDB コレクションのハイフン付き名 質問する

Node.js プログラムを使用して、MongoDB データベースにデータを挿入しています。「repl-failOver」という名前のコレクションにデータを挿入しました。

var mongoClient = require("mongodb").MongoClient;
mongoClient.connect("mongodb://localhost:30002/test", function(err, db) {
    if (err) throw err;
    db.collection("repl-failOver").insert( { "documentNumber" : document++}, function (err, doc) {
        if (err) throw err;
        console.log(doc);
    });
    db.close();
});

Mongo シェルを使用してデータベース内のコレクションを一覧表示すると、show collectionsコレクション「repl-failOver」が表示されます。

このコレクションに対して mongo シェルから find コマンドを実行するにはどうすればよいですか?

ベストアンサー1

次の構文を使用します:

db['repl-failOver'].find({})

または

db.getCollection('repl-failOver').find({})

詳細は以下をご覧ください。クエリの実行マニュアルのセクション:

mongo シェルがコレクションの名前を受け入れない場合、たとえば、名前にスペースやハイフンが含まれている場合、または名前が数字で始まっている場合、次のように、代替構文を使用してコレクションを参照できます。

db["3test"].find()

db.getCollection("3test").find()

おすすめ記事