Извлечение вставленных данных MongoDB через Nodejs - PullRequest
0 голосов
/ 25 августа 2011

Я использую Nodejs для вставки некоторых данных через MongoDB следующим образом:

var db = new mongo.Db("mydb", new mongo.Server("localhost", '27017', {}), {});
db.open(function() {
    db.collection("entry", function(error, collection) {
        data = {
            "time":(new Date()).getTime()
        }

        collection.insert(data, function() {
            console.log("saved", arguments);
        });
    });
});

Однако я даже не вижу базу данных, если я делаю:

$ mongo localhost
> db.getCollectionNames();
[ "system.indexes" ]

ТакЯ вручную добавил коллекцию через:

> db.createCollection('mydb');
{ "ok" : 1 }

Затем я вижу:

> db.getCollectionNames();
[ "mydb", "system.indexes" ]

, но если я запусту:

> db.mydb.find().count()

Я увижу: 0

Конечно, я попытаюсь db.mydb.find().count() после того, как я выполню свой скрипт узла, и все равно я получу 0.Я подозреваю, что мне где-то не хватает жизненно важной части.

Я должен также отметить, что когда я запускаю свой скрипт узла, я вижу «сохраненные» и некоторые аргументы из функции, поэтому кажется, что данные поступают,Я просто не уверен, как это увидеть.

1 Ответ

1 голос
/ 25 августа 2011

Похоже, вы объединяете понятия баз данных и коллекций в вашем примере кода и описании проблемы.Вместо db.getCollectionNames () используйте это для поиска баз данных, доступных на сервере MongoDB:

show dbs

Ваш код добавляет запись в запись ""коллекция в базе данных" mydb ".После подключения к оболочке mongo попробуйте:

использовать mydb

Тогда:

db.entry.find ()

В котором должны отображаться вновь созданные записи.

Вы можете проверить http://www.mongodb.org/display/DOCS/DBA+Operations+from+the+Shell для получения полного списка полезных команд оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...