Задать вопрос
  • Как получить все записи из базы в mongodb на nodejs?

    AlexZeDim
    @AlexZeDim
    Зависит от того, в каком виде, где и как их необходимо получить. Пример с mongoose который на 100% отображает все документы которые уже находятся в коллекции:
    Сперва: npm i mongoose и в package.json добавляем:
    "dependencies": {
        "mongodb": "^2.2.25", //сама MongoDB, она должна быть обязательно
        "mongoose": "4.8.0", //это для mongoose - мангуст, наш случай
        "mongo": "~2.2.25" //это для mongo-native-driver, если работаем через него
    }


    var mongoose = require('mongoose'); //берем мангуст
    mongoose.connect('mongodb://localhost/в_какую_базу_коннектимся'); //указываем куда
    
    
    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function() {}); //коннектимся к базе
    
    var Schema = new mongoose.Schema({ //задаем схему
        поле: Значение,
        field: String
    });
    
    var server = mongoose.model('имя коллекции',Schema); //схему-в-модель
    
    server.find({}, null, {sort: 'критерий сортировки'},function (err, res) {
        console.log (res); //вот здесь будут все документы
    });


    То же самое, только для mongo-native-driver, прямо на главной странице с документацией с заголовком Find all Documents

    Если же есть необходимость просто-посмотреть какие документы находится сейчас внутри коллекции, то этот код через mongo-shell может вам помочь
    var collections = db.getCollectionNames();
    for(var i = 0; i< collections.length; i++) {    
       print('Collection: ' + collections[i]); // print the name of each collection
       db.getCollection(collections[i]).find().forEach(printjson); //and then print     the json of each of its elements
    }
    Ответ написан
    Комментировать