如何将mongoDB连接到服务器? [英] how to connect mongoDB to server?

查看:80
本文介绍了如何将mongoDB连接到服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在连接到服务器时从mongoDB获取数据.我在mongoDB中这样插入一个值

I am trying to get data from mongoDB while connecting to server .i inserted one value in mongoDB like this

> use abc


switched to db abc
> db.ac.insert({name:"naveen"})
WriteResult({ "nInserted" : 1 })
> show collections
ac
system.indexes 

并尝试获得这样的值

var express=require('express');
var app =express();
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');


app.get('/',function(req,res){
    console.log("Connected  to server.");

    MongoClient.connect(url, function(err, db) {
        assert.equal(null, err);
        var collection = db.collection('ac');
        console.log(collection)
        console.log("Connected correctly to server.");
        db.close();
    });
})

var url = 'mongodb://localhost:27017/abc';


app.listen(3000,function(){
         console.log('server is runninngn')
})

为什么我收到此错误?

MacBook-Pro:expressjs naveenkumar$ node index.js
server is runninngn
Connected  to server.
{ s: 
   { pkFactory: 
      { [Function: ObjectID]
        index: 462263,
        createPk: [Function: createPk],
        createFromTime: [Function: createFromTime],
        createFromHexString: [Function: createFromHexString],
        isValid: [Function: isValid],
        ObjectID: [Circular],
        ObjectId: [Circular] },
     db: 
      { domain: null,
        _events: {},
        _maxListeners: 10,
        s: [Object],
        serverConfig: [Getter],
        bufferMaxEntries: [Getter],
        databaseName: [Getter],
        options: [Getter],
        native_parser: [Getter],
        slaveOk: [Getter],
        writeConcern: [Getter] },
     topology: 
      { domain: null,
        _events: [Object],
        _maxListeners: 10,
        s: [Object],
        bson: [Getter],
        isMasterDoc: [Getter],
        poolSize: [Getter],
        autoReconnect: [Getter],
        host: [Getter],
        port: [Getter],
        emitOpen: false,
        connectTimeoutMS: 30000,
        socketTimeoutMS: 0 },
     dbName: 'abc',
     options: { promiseLibrary: [Object], readConcern: undefined },
     namespace: 'abc.ac',
     readPreference: { _type: 'ReadPreference', mode: 'primary', tags: undefined },
     raw: undefined,
     slaveOk: true,
     serializeFunctions: undefined,
     internalHint: null,
     collectionHint: null,
     name: 'ac',
     promiseLibrary: 
      { [Function: lib$es6$promise$promise$$Promise]
        all: [Function: lib$es6$promise$promise$all$$all],
        race: [Function: lib$es6$promise$promise$race$$race],
        resolve: [Function: lib$es6$promise$promise$resolve$$resolve],
        reject: [Function: lib$es6$promise$promise$reject$$reject] },
     readConcern: undefined } }
Connected correctly to server.
Connected  to server.
{ s: 
   { pkFactory: 
      { [Function: ObjectID]
        index: 462263,
        createPk: [Function: createPk],
        createFromTime: [Function: createFromTime],
        createFromHexString: [Function: createFromHexString],
        isValid: [Function: isValid],
        ObjectID: [Circular],
        ObjectId: [Circular] },
     db: 
      { domain: null,
        _events: {},
        _maxListeners: 10,
        s: [Object],
        serverConfig: [Getter],
        bufferMaxEntries: [Getter],
        databaseName: [Getter],
        options: [Getter],
        native_parser: [Getter],
        slaveOk: [Getter],
        writeConcern: [Getter] },
     topology: 
      { domain: null,
        _events: [Object],
        _maxListeners: 10,
        s: [Object],
        bson: [Getter],
        isMasterDoc: [Getter],
        poolSize: [Getter],
        autoReconnect: [Getter],
        host: [Getter],
        port: [Getter],
        emitOpen: false,
        connectTimeoutMS: 30000,
        socketTimeoutMS: 0 },
     dbName: 'abc',
     options: { promiseLibrary: [Object], readConcern: undefined },
     namespace: 'abc.ac',
     readPreference: { _type: 'ReadPreference', mode: 'primary', tags: undefined },
     raw: undefined,
     slaveOk: true,
     serializeFunctions: undefined,
     internalHint: null,
     collectionHint: null,
     name: 'ac',
     promiseLibrary: 
      { [Function: lib$es6$promise$promise$$Promise]
        all: [Function: lib$es6$promise$promise$all$$all],
        race: [Function: lib$es6$promise$promise$race$$race],
        resolve: [Function: lib$es6$promise$promise$resolve$$resolve],
        reject: [Function: lib$es6$promise$promise$reject$$reject] },
     readConcern: undefined } }
**Connected correctly to server.**

请为什么给出错误信息

推荐答案

如果要显示给定集合中的所有文档,代码应如下所示:

If you want to display all the documents in the given collection the code should be like this :

MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
var collection = db.collection('ac').find({},function(err,doc){
    if(err)
        throw err;
    else{
        console.log(doc);
    }
});
console.log("Connected correctly to server.");
db.close();
});

这将打印收集ac的所有文档.否则,如果您直接尝试打印集合,则所有元数据也将被打印.

this will print all the documents of collection ac. Otherwise if you directly try to print collection all the metadata will also get printed.

这篇关于如何将mongoDB连接到服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆