使用Mongoose(在node.js环境中使用)时,connect命令做什么?

使用Mongoose(在node.js环境中使用)时,connect命令做什么?,node.js,mongoose,Node.js,Mongoose,我是刚接触猫鼬的,一开始就有困难。我只想存储一些值,然后检索所有值。现在,我只是想让一个基本的例子起作用。这是我现在的代码: var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/my_database'); var Schema = mongoose.Schema; var IPhoneDevice = new Schema({ fbId : { type: Stri

我是刚接触猫鼬的,一开始就有困难。我只想存储一些值,然后检索所有值。现在,我只是想让一个基本的例子起作用。这是我现在的代码:

var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/my_database');

var Schema = mongoose.Schema;

var IPhoneDevice = new Schema({
    fbId  :  { type: String }
  , deviceToken   :  { type: String }
});

var IPhone = db.model('IPhone', IPhoneDevice);

var u = new IPhone();
u.fbId = 'John';
u.save(function(){
    log.debug("Saving");
});

IPhone.find({}).all(function(array){
    log.debug("Finding stuff");
});

问题是,它从不打印任何东西。我想这可能和猫鼬的连接线有关。我只是从一个例子中复制了这个,但是我的本地主机上是否需要存储数据库的文件?我在任何地方都没有名为my_database的文件……我需要创建一个吗?

我会这样写最后一个调用:

IPhone.find({}, function (err, docs) {
   console.log(docs);
});
mongoose需要在find中进行查询,然后通过回调处理返回的文档或错误


请参阅:

您的程序是否在打印内容之前退出?否则,log.debug对我不起作用,我不得不使用console.log。我将程序改为使用console.log,还添加了一个简单的“hello world”服务器,这样程序就不会退出,但仍然没有成功。程序肯定没有运行回调函数,因为即使我把垃圾放在那里,程序也不会崩溃……好吧,实际上我已经解决了。我没有在本地机器上运行mongodb,因此它没有任何连接。谢谢你的帮助。