[英]Query mongodb with geddy
在嘗試node.js框架(在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);
當我第一次運行geddy時,默認適配器在development.js中設置為mongo,它創建了我的數據庫並且正確插入了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正在創建兩個集合,而不是一個
看來您被這個錯誤擊中了: https : //github.com/mde/geddy/issues/240
實際上,Geddy意外地為每個模型創建了兩個集合。 但是,它始終使用小寫的復數集合進行讀/寫。 您確定數據在該集合中,而不在另一個集合中嗎?
無論如何,從評論中看來,這已經涵蓋了這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.