在尝试node.js框架时,geddy (在windows上)和我遇到了一些问题。
我正在尝试使用我的用户模型中的.first()方法在我的控制器中查询mongodb,如下所示:
geddy.model.User.first({name: 'jdoe'}, function (err, data) {
if (err) {
throw err;
} else {
console.log(data);
}
});奇怪的是,我没有得到任何输出,错误,什么都没有。用户jdoe存在于集合中,所以它应该输出一些内容,对吧?我做错了什么吗?
我的模型定义为:
var User = function () {
this.defineProperties({
username: {type: 'string', required: true},
password: {type: 'string', required: true},
});
this.autoIncrementId = true;
};
User = geddy.model.register('User', User);在development.js中,默认适配器设置为mongo,当我第一次运行geddy时,它创建了我的数据库,并且正确地插入了Users集合。
你知道这里出了什么问题吗?
更新:
根据请求添加development.js
var config = {
detailedErrors: true
, debug: true
, hostname: null
, port: 4000
, model: {
defaultAdapter: 'mongo',
}
,db: {
mongo: {
dbname: 'knowledgebase'
}
}
, sessions: {
store: 'memory'
, key: 'sid'
, expiry: 14 * 24 * 60 * 60
}
};
module.exports = config;还有我在mongo上的收藏(由geddy创建)
> show collections
User
system.indexes
users注意,geddy以某种方式创建了两个集合,而不是一个
发布于 2012-10-23 05:44:15
看起来你正受到这个bug的影响:https://github.com/mde/geddy/issues/240
实际上,Geddy意外地为每个模型创建了两个集合。它总是使用小写的复数集合来进行读/写。您确定您的数据在该集合中而不在另一个集合中吗?
无论如何,从评论来看,听起来你已经了解了这一点。
https://stackoverflow.com/questions/13001245
复制相似问题