要查询 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/