node.js - bool 字段的 Mongoose 查询

标签 node.js mongodb mongoose

要查询 bool 字段,我必须使用“false”而不是 false。 我将 Mongoose 与 Node JS 结合使用。

Mongodb 模式定义:

var MySchema = new mongoose.Schema({
    isPrivate: { type: Boolean, default: false }
})
db.model('MyModel', MySchema);

查询:

MyModel.find({ isPrivate: false })

上面的查询不返回任何数据集,而下面的代码返回。

MyModel.find({ isPrivate: "false" })

请帮忙。

最佳答案

根据您的模型,您应该首先更新您的文档,使用如下更新方法将 "false" 更改为 false:

MyModel.update({},{"$set":{"isPrivate":false}},{ multi: true })

如果您不习惯更新文档,那么您应该像这样使用$or or $in

MyModel.find({ $or:[ {'isPrivate':"false"}, {'isPrivate':false} ]})

MyModel.find({ "isPrivate": { "$in": ["false",false] } })

关于node.js - bool 字段的 Mongoose 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32210122/

相关文章:

node.js - 有没有办法使用express-jwt在nodejs中不 protected 端点中访问jwt用户信息?

mongodb - 处理 MongoDB 异常的更好方法

ruby-on-rails - MongoDB ruby 日期

javascript - Mongoose 如何在日期范围内查询并提取每天的最高值?

node.js - 如何使用 findOneAndUpdate 更新子文档?

node.js - 使用 node.js 移动文件

node.js - 如何为默认导出类编写类型定义文件?

javascript - JSON.parse() 是否接受 Buffer 作为参数?

mongodb - Mongorestore 在没有 --drop 的情况下更新记录(如果已经存在)

javascript - 如何在 Node js 中将 JSON 对象转换为 Excel 文件时将 Javascript 数组元素存储在 Excel 文件中?