不能使用mongoose在OSX中使用mongodb控制台

时间:2012-11-21 02:29:37

标签: mongodb mongoose

我可以在Apple控制台中运行mongodb,vim mongo.log 现在,我只想打开mongodb控制台,以便我可以在控制台中测试查询,就像http://www.mongodb.org/display/DOCS/Tutorial

中的示例一样

此刻,光标不会返回:

> mongodb
all output going to :/usr/local/var/log/mongodb/mongo.log

并且不返回光标。我期待光标返回,所以我可以执行以下操作:

 > mongodb
 all output going to :/usr/local/var/log/mongodb/mongo.log
 > test = {name : "bouncingHippo"}
 > db.family.save(test)
 > "ok"

我做错了什么?我正在使用猫鼬

1 个答案:

答案 0 :(得分:1)

我并不完全清楚从哪个控制台获取此输出,因为如果您只输入mongodb,Node控制台将无法返回任何可用内容。

如果您要尝试的只是启动MongoDB控制台,则需要首先启动mongod进程,然后使用MongoDB控制台附加到该进程。 MongoDB控制台名为mongo。在最简单的测试中,您可以从一个终端窗口启动mongod,然后从另一个终端窗口启动mongo。在运行mongo的终端窗口中,您可以查看tutorial中的示例。您的伪代码将如下所示:

MongoDB shell version: 2.2.1
connecting to: 127.0.0.1:18070/test
> test = {name : "bouncingHippo"}
{ "name" : "bouncingHippo" }
> db.family.save(test)

如果您尝试使用Mongoose作为您的问题中的伪代码,那么它将更像是Node控制台中的以下内容(假设已安装Node.js和Mongoose)

var mongoose = require('mongoose');
var db = mongoose.createConnection('mongodb://localhost/test');
var testSchema = new mongoose.Schema({
    name: String
})
var Test = db.model('Test', testSchema)
var test = new Test({ name: 'bouncinghippo' })
test.save()