2013-03-11 2 views
-2

это код, который я использую, вставляя документ в mongodb.mongodb with nodejs

 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) {вар клиент = новый Db ('тест', ^ ReferenceError: Db не определен в . Объект (C: \ Users \ Основной узел \ здор`ово \ 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 (и, вероятно, Server). –

+0

Где вы определяете Db. Возможно, вы пропустили импорт модуля с Db. – user568109

+0

Я забыл импортировать модуль mongodb. знайте, что он работает нормально. Спасибо за ответ – Ramesh

ответ

4

Импортируйте все необходимые модули, которые вы используете. Db is not defined указывает, что Db определен в каком-либо другом модуле, или вы забыли его объявить.

0

Попытка установить MongoDB родной драйвер

npm install mongodb 
3

Вы заметите это точный блок кода размещен в ряду различных вопросов StackOverflow. Проблема здесь в том, что это копия и вставленный блок кода из документации 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'); 

А потом я заменил assertEquals линии с чем-то вроде этого:

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

Заметьте, что вы «Если вы запустили это несколько раз, вы столкнетесь с проблемой; он будет подсчитывать количество вещей в этой таблице, и их будет больше одного.

Вам нужно выяснить, как попасть в CLI манго и удалить их, чтобы они успешно работали.