2013-03-11 168 views
-2

这是我使用插入文件到mongodb的第th个代码。与nodejs的mongodb

 var client = new Db('test', new Server("127.0.0.1", 27017, {}), {w: 1}), 
     test = function (err, collection) { 
     collection.insert({a:2}, function(err, docs) { 

     collection.count(function(err, count) { 
      test.assertEquals(1, count); 
     }); 

     // Locate all the entries using find 
     collection.find().toArray(function(err, results) { 
      test.assertEquals(1, results.length); 
      test.assertTrue(results[0].a === 2); 

      // Let's close the db 
      client.close(); 
     }); 
     }); 
    }; 

client.open(function(err, p_client) { 
    client.collection('test_insert', test); 
}); 

,但在运行我得到错误

xports,要求,模块,__filename,__dirname){VAR的客户=新的DB( '测试', ^ 的ReferenceError:DB是没有定义 在。对象(C:\用户\基本节点\ cheerio \ mongonode.js:1:81

at Module._compile (module.js:449:26) 
at Object.Module._extensions..js (module.js:467:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.runMain (module.js:492:10) 
at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

你能建议我该如何解决这个问题

在此先感谢

+2

问题非常明确。 'Db'变量没有定义。如果你想得到一个正确的答案,你必须在最初声明你的Db(可能是服务器)对象的地方发布代码。 – 2013-03-11 07:05:35

+0

你在哪里定义Db。也许你错过了导入有Db的模块。 – user568109 2013-03-11 11:39:10

+0

我忘了导入mongodb模块。知道它工作正常。感谢您的回复 – Ramesh 2013-03-11 12:23:19

回答

4

请导入所需的所有模块,您正在使用。 Db is not defined指出Db是在其他某个模块中定义的,或者您忘记声明它。

0

尝试安装MongoDB的本地驱动程序

npm install mongodb 
3

你会发现张贴在许多不同的计算器问题,这个确切的代码块。这里的问题在于,这是来自mongodb文档的复制和粘贴代码块,实际上是mongodb nodejs程序的第一个示例。

https://npmjs.org/package/mongodb

你会发现这个在“导言”为“插入文档的一个简单的例子。”

这显然是一个不完整的例子,但很多人只是试图看看他们是否已经正确安装了所有东西,并立即撞上了墙壁。

大多数人都已经安装了MongoDB的驱动程序,但在顶部这样会失去了一些东西:

var mongodb = require('mongodb'); 
var Db = mongodb.Db; 
var Server = mongodb.Server; 

我也陷入了复制粘贴的陷阱在这里跑进另一个问题用“的assertEquals “方法不存在。我见过其他人在网络上的其他地方引用该功能,但不确定它是如何工作的。

在任何情况下,使其为我工作,我需要的断言模块:

var assert = require('assert'); 

然后我换成在断言线,是这样的:

  assert.equal(1, count, "Unexpected result"); 

请注意,您如果你已经运行了几次,它将会遇到问题;它将计算该表中的事物数量,并且将会有多个。

您必须弄清楚如何进入mongo的CLI并删除它们才能让它成功运行。