Простой Nodejs MongoDB Express итерация / цикл сбора - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь отобразить коллекцию - внутри оболочки монго она прямолинейна.

БД = тестирование
коллекция = инвентарь

> use testing
switched to db testing
> db.inventory.find();   // very easy and straight fwd

Моя проблема заключается в том, что я не могу понять, как получить управление данными, когда они повторяются. Я получаю следующую ошибку:

Невозможно прочитать свойство 'find' из неопределенного

const express = require('express');
const router = express.Router();
const mdb = require('mongoose');

const MongoClient = require('mongodb').MongoClient;
const mongoDB = "mongodb://localhost/testing";  

mdb.connect(mongoDB);
mdb.Promise = global.Promise;

let db = mdb.connection;

router.get('/', function(req, res) {
    db.inventory.find(query).stream()
    .on('data', function(doc){
      // handle doc
      console.log("raw => " + doc);
      console.log("JSON => " + JSON.stringify(doc));
    })
    .on('error', function(err){
      console.log("Error: " + err)
    })
    .on('end', function(){
      console.log("iteration complete")
    });

});

Заранее спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Хорошо, это сработало для меня: Название базы данных: «тестирование» Коллекция: «Инвентарь»

const express = require('express');
const router = express.Router();

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost/testing";  

router.get('/', function(req, res) {

  MongoClient.connect(url, { useNewUrlParser: true },  function(err, db) {
    if (err) throw err;
    let dbo = db.db("testing");

    var stream = dbo.collection("inventory").find().stream()
    stream.on('error', function (err) {
      console.error(err)
    })
    stream.on('data', function (doc) {
      console.log(doc)
    })
    .on('end', function(){
      // final callback
      console.log("iteration complete")
    });
  });

    //post blank page
    res.writeHead(200, {'Content-Type': 'application/json'});
    res.end();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...