2016-10-29 62 views
0
var LINK = mongoose.model('link', { 
    id: mongoose.Schema.Types.ObjectId, 
    linkA: Boolean, 
    linkB: Boolean, 

}, 'link') 

(型號爲LINK - 在這裏作爲參考)mongoose.find()查詢只返回值,我通過貓鼬保存


當使用的NodeJS貓鼬我可以使用find()函數返回集合中的所有文檔:

var Test = LINK.find({}, (err, user) => { 
    if (err) console.log("error: " + err) 
    else console.log("users: " + user) 
}, 4000) 

它返回終端中的所有數據。很簡單,對吧?

但是當我嘗試使用查詢產生的問題:

var Test = LINK.find({linkA:'true'}, (err, user) => { 
    if (err) console.log("error: " + err) 
    else console.log("users: " + user) 
}, 4000) 

起初不返回任何結果(即使有填充上mongodb的文件事先)查詢。但是在通過mongoose向mongodb添加文檔之後 - 可以訪問添加的文檔,但不能在mongodb控制檯上創建其他文檔。

這是有原因嗎?我懷疑我正在使用find()函數,但是它似乎在通過貓鼬添加文檔時工作正常,或者我使用空查詢,所以我不確定。

任何幫助,將不勝感激。 謝謝。

+0

你是否在查找中使用linkA:'true'作爲字符串? –

+0

是的,我測試過,沒有引號,它的工作原理是一樣的。 –

+1

可能使用https://stackoverflow.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejs。確保你明白它使用'links'集合,而不是'link'。 – JohnnyHK

回答

0

問題是我存儲信息的方式。

正如指出的阿米拉姆的授予Korach了文件誤用存儲引號布爾值等貓鼬被識別出它是一個字符串值。