mongoose.find()查询只返回值,我通过猫鼬保存

问题描述:

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://*.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejs。确保你明白它使用'links'集合,而不是'link'。 – JohnnyHK

问题是我存储信息的方式。

正如指出的阿米拉姆的授予Korach了文件误用存储引号布尔值等猫鼬被识别出它是一个字符串值。