代码之家  ›  专栏  ›  技术社区  ›  Michael Nelles Kranti Brid

简单Nodejs MongoDB Express迭代/循环集合

  •  0
  • Michael Nelles Kranti Brid  · 技术社区  · 7 年前

    我试图展示一个集合-蒙哥壳内部它是直截了当的。

    DB=测试
    集合=库存

    > 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 回复  |  直到 7 年前
        1
  •  0
  •   Michael Nelles Kranti Brid    7 年前

    好吧,这对我有用: 集合:“库存”

    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();
    });