Javascript 如何使用node.js从mongodb获取数据

Javascript 如何使用node.js从mongodb获取数据,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我试图在node.js中使用此代码从mongoDB获取数据,但它不起作用,甚至没有显示任何错误或结果。我已经测试了DB,有很多数据可用,比如[数据库输出] { "_id" : ObjectId("597321311e13c57335727a6d"), "name" : "Amanda", "publisher" : "MTV india" } { "_id" : ObjectId("5973220b1e13c57335727a6e"),

我试图在node.js中使用此代码从mongoDB获取数据,但它不起作用,甚至没有显示任何错误或结果。我已经测试了DB,有很多数据可用,比如[数据库输出]

    {
    "_id" : ObjectId("597321311e13c57335727a6d"),
    "name" : "Amanda",
    "publisher" : "MTV india"
    }
    {
    "_id" : ObjectId("5973220b1e13c57335727a6e"),
    "name" : "Deepka",
    "publisher" : "MTV"
    }
    {
    "_id" : ObjectId("597322141e13c57335727a6f"),
    "name" : "sunil",
    "publisher" : "MTV india"
    }
  • app.js

    var express = require('express');
    var app = express();
    var MongoClient = require('mongodb').MongoClient;
    var mongoose = require('mongoose');
    var booksDetail = require('./modal/book');
    var url = "mongodb://localhost:27017/example";
    
    // Connect to the db
    MongoClient.connect(url);
    
    
    app.get('/api/books', function(req,res) {
        res.send("on book  page");
        booksDetail.find({})
        .exec(function(err, books) {
            console.log("--working--");
          if(err) {
            res.send('error occured')
            res.send('error occured')
          } else {
            console.log(books);
            res.json(books);
          }
        });
    
    });
    
    app.get('/api/school', function(req,res){
        res.send('hello this is school page');
    });
    
    app.listen(7900);
    console.log('server is runing 7900')
    
  • modal/book.js

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    
    var bookSchema = new Schema({
            name: {
                type: String,
                requierd: true
            },
            publisher : {
                type: String,
                requierd: true
            }   
    })
    
    module.exports = mongoose.model('booksDetail', bookSchema);
    

  • 您尚未连接到MongoDB服务器(使用mongoose)


    选择使用mongoose或mongodb库,而不是两者都使用。仔细检查文档。

    您加载mongo和mongoose,但使用mongo进行连接,并且您的文档存储在mongoose中。所以只需移除mongo并连接mongoose即可

    mongoose.connect('mongodb://localhost:27017/example');
    var db = mongoose.connection;  
    db.once('open', function() {
        console.log('OPEN');
    });
    

    谢谢sheplu,我已经更新了您的代码,而不是它所说的: