如何在猫鼬中搜索多个布尔值对象?



希望你一切顺利。

伙计们,我正在寻找猫鼬问题的解决方案, 我的用户集合中有一个对象字段(例如:车辆状态(。它有一些键(都是布尔值(。现在我想根据此车辆状态字段从用户集合中搜索。

这是我的架构 -

vehicleStatus: {
_id: false,
twoWheeler: Boolean,
fourWheeler: Boolean
},

现在我正在寻找用户是否有两轮车、四轮车或两者兼而有之。例如,假设 John doe 有 {twoWheeler: true, fourWheeler: false}。那么在猫鼬中搜索这样的字段(vahicleStatus(的最佳方法是什么。

任何形式的帮助将不胜感激。

现在我正在搜索用户是否有两轮车,四轮车两者兼而有之。

User.find({
$expr: {
$or: [{
$eq: ['$vehicleStatus.twoWheeler', true]
}, {
$eq: ['$vehicleStatus.fourWheeler', true]
}]
}
}).then(console.log).catch(console.log);

你可以在这里查看 蒙戈游乐场

您可以像这样搜索匹配值:

const users = await User.find({
'vehicleStatus.twoWheeler': true,
'vehicleStatus.fourWheeler': true,
});

除了true,你也可以把你的变量。

最新更新