Подтвердить что ты не робот

Коллекция дебютного имени 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".

Как запустить команду find из оболочки mongo для этой коллекции?

4b9b3361

Ответ 1

Используйте этот синтаксис:

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

или

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

Дополнительную информацию можно найти в разделе Выполнение запросов:

Если оболочка mongo не принимает имя коллекции, для если имя содержит пробел, дефис или начинается с number, вы можете использовать альтернативный синтаксис для ссылки на коллекцию, так как в следующем:

db["3test"].find()

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

Ответ 2

Вы получаете эту ошибку от доступа к коллекциям с определенными символами (-, _, ). Я объяснил обходное решение здесь, но в основном все, что вам нужно, это сделать

db.getCollection("repl-failOver").insert(...)