首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Nodejs检索插入的MongoDB数据

通过Nodejs检索插入的MongoDB数据
EN

Stack Overflow用户
提问于 2011-08-26 00:46:39
回答 1查看 693关注 0票数 0

我使用Nodejs通过MongoDB插入一些数据:

代码语言:javascript
复制
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);
        });
    });
});

但是,如果我这样做了,我甚至看不到数据库:

代码语言:javascript
复制
$ mongo localhost
> db.getCollectionNames();
[ "system.indexes" ]

因此,我通过以下方式手动添加了该集合:

代码语言:javascript
复制
> db.createCollection('mydb');
{ "ok" : 1 }

然后我明白了:

代码语言:javascript
复制
> db.getCollectionNames();
[ "mydb", "system.indexes" ]

但是如果我运行:

代码语言:javascript
复制
> db.mydb.find().count()

我来看看:0

当然,在我运行我的节点脚本之后,我会尝试db.mydb.find().count(),但我仍然得到0。我怀疑我在什么地方遗漏了重要的部分。

我还应该注意,当我运行我的节点脚本时,我确实看到了“已保存”和函数中的一些参数,所以看起来数据正在进入,我只是不确定如何看到它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-26 02:19:58

看起来您在示例代码和问题描述中混淆了数据库和集合的概念。不要使用db.getCollectionNames(),而是使用下面的代码来查找MongoDB服务器上可用的数据库:

显示dbs

您的代码正在向"mydb“数据库中的"entry”集合添加一条记录。连接到mongo shell后,尝试:

使用mydb

然后:

db.entry.find()

它应该会显示您新创建的记录。

您可以在http://www.mongodb.org/display/DOCS/DBA+Operations+from+the+Shell上查看有用的shell命令的完整列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7194174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档