【问题标题】:Unable to query MongoDB using a localhost URL and MongoJS无法使用 localhost URL 和 MongoJS 查询 MongoDB
【发布时间】:2017-05-28 12:10:55
【问题描述】:

这是我正在尝试运行的 tasks.js 代码:

/*jslint node:true*/

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

var mongojs = require('mongojs');
var db = mongojs('mongodb://localhost:27017/tasks', ['tasks']);

router.get('/tasks', function (req, res, next) {
'use strict';
db.tasks.find(function(err, tasks) {
   if(err){
       res.send(err);
   }
   res.json(tasks);
});
});

module.exports = router;

该代码用于查询和显示json文件的所有内容。

当我用这个 mLab URL 替换 db localhost URL 时:

var db = mongojs('mongodb://username:password@ds161008.mlab.com:61008/mytasklist_muhab', ['tasks']);

效果很好。

我认为字符串有问题。我在 MongoDB 文档中查找了 connectionString 标准,但找不到问题所在。

我没有为本地数据库分配任何用户名或密码。

Mongod 运行良好,我可以使用 Mongo shell 在同一个数据库上运行命令,没有任何问题。

【问题讨论】:

    标签: node.js mongodb express mongojs


    【解决方案1】:

    根据mongojs 文档,您可能不需要将mongodb://localhost:27017 用作connectionString 的一部分,本地数据库 只能通过dbName

    喜欢:

    var db = mongojs('tasks', ['tasks'])
    

    var db = mongojs('tasks')
    var mycollection = db.collection('tasks')
    

    并使用errorconnect 事件检查您的连接是否建立

    var db = mongojs('tasks', ['tasks'])
    
    db.on('error', function (err) {
        console.log('database error', err)
    })
    
    db.on('connect', function () {
        console.log('database connected')
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      相关资源
      最近更新 更多