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()函数,但是它似乎在通过猫鼬添加文档时工作正常,或者我使用空查询,所以我不确定。
任何帮助,将不胜感激。 谢谢。
答
问题是我存储信息的方式。
正如指出的阿米拉姆的授予Korach了文件误用存储引号布尔值等猫鼬被识别出它是一个字符串值。
你是否在查找中使用linkA:'true'作为字符串? –
是的,我测试过,没有引号,它的工作原理是一样的。 –
可能使用https://*.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejs。确保你明白它使用'links'集合,而不是'link'。 – JohnnyHK