簡體   English   中英

使用geddy查詢mongodb

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM