无法读取mongo /节点中的收集数据

我正在尝试在nodeJs中的mongoDB,并与mongodb服务器上的数据库收集文件有问题。 服务器被设置为一个窗口服务,所以它启动并运行。 运行时,我得到了nodejs来连接它。 我做了模拟的例子,它的工作原理(我认为这是正确的设置)。

如果我想查看在nodejs中创build的集合,它将显示它们。 如果我去到mongodb服务器数据库(data \ db文件夹),我看到一个集合已经创build。 问题是当我打开另一个cmd.exe实例时,inputmongodb并想查看集合db.collections-2中是什么,返回的是NaN。

我可能做错了什么,或者有一个我不知道的文件丢失。 有人能告诉我,并解释我为什么得到NaN。

nodejs代码如下所示。

var MongoClient=require('Mongodb').MongoClient,format = require('util').format; var url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url,function(err,db){ if(err){ console.log(err); } else{ console.log("connected to", url ); } var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']}; var user2 = {name: 'modulus user', age: 22, roles: ['user']}; var user3 = {name: 'modulus super admin', age: 92, roles: ['super-admin', 'admin', 'moderator', 'user']}; collection.find({name: 'modulus user', roles: 'user'}).toArray(function(err, result) { if (err) { console.log(err); } else if (result.length) { console.log('Found:', result); } else { console.log('No document(s) found with defined "find" criteria!'); } }) db.close() }) 

好的,在你的问题中有几件事不清楚,让我试着澄清一下:

您将无法直接在data / db中读取收集数据,您必须使用mongo shell。

在mongo shell中,我假设你是通过“打开cmd.exe的另一个实例进入mongodb”引用的 ,请尝试input以下命令:

  use myproject show collections db.mycollection.find({}) //replace 'mycollection' by the name of the collection 

这将显示您的集合“mycollection”的第一个文档。

但是,在你的节点代码中,你似乎没有定义集合名称? 它应该是这样的:

  var collection = db.collection('mycollection') collection.find({name: 'modulus user', roles: 'user'}).toArray(... 

我已经抛出你的代码,并纠正了一些错误, – 你必须返回你的console.log(error) ,否则代码不包裹在其他将无法运行。 – 你必须用db.collection('name').insert(data)实际插入数据db.collection('name').insert(data) – 你必须指定集合db.collection('name')

 var MongoClient=require('mongodb').MongoClient var format = require('util').format; var url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url,function(err,db){ if(err){ return console.log(err); // return your response otherise the code that isn't // wrapped in else will get run anyway } else{ console.log("connected to", url ); } var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']}; var user2 = {name: 'modulus user', age: 22, roles: ['user']}; var user3 = {name: 'modulus super admin', age: 92, roles: ['super-admin', 'admin', 'moderator', 'user']}; // insert data db.collection('users').insert(user1) db.collection('users').insert(user2) db.collection('users').insert(user3) // collect data from users table db.collection('users').find({name: 'modulus user', roles: 'user'}).toArray(function(err, result) { if (err) { console.log(err); } else if (result.length) { console.log('Found:', result); } else { console.log('No document(s) found with defined "find" criteria!'); } }) db.close() })