请有人回答我此代码有什么问题... 当我运行程序时,我发现了mongodb部分中的错误。
中的错误var db = mongoclient.db();
var express = require('express'),
app = express(),
cons = require('consolidate'),
MongoClient = require('mongodb').MongoClient,
Server = require('mongodb').Server;
app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
var mongoclient = new MongoClient(new Server("localhost", 27017), {native_parser: true});
var db = mongoclient.db();
app.get('/', function(req, res){
// Find one document in our collection
db.collection('hello_combined').findOne({}, function(err, doc) {
if(err) throw err;
res.render('hello', doc);
});
});
app.get('*', function(req, res){
res.send('Page Not Found', 404);
});
mongoclient.open(function(err, mongoclient) {
if(err) throw err;
app.listen(8080);
console.log('Express server started on port 8080');
});
答案 0 :(得分:0)
我只向您展示此代码,因为它显示了如何连接到数据库。
我不需要你所拥有的Server = require('mongodb').Server;
部分。
代码显示了如何
要求monogodb在Node中获取mongodb的驱动程序。 require("mongodb").MongoClient
然后使用MongoClient.connect进行连接。在我的情况下,我连接到我已经存在的名为crunchbase
然后您可以查询数据库,我在集合category_code
中找到名称为biotech
且值为companies
的字段。
var MongoClient = require("mongodb").MongoClient;
MongoClient.connect("mongodb://localhost:27017/crunchbase", function(err, db){
console.log("connected to the DB");
var query = {"category_code" : "biotech"};
db.collection("companies").find(query).toArray(function(err, docs){
docs.forEach(function(doc){
console.log(doc.name + " is a " + doc.category_code + "company")
});
db.close()
})
})