希望你一切都好。
我正在寻找猫鼬问题的解决方案, 我的用户集合中有一个对象字段(让我们说:vehicleStatus)。其中有一些键(所有都是布尔值)。现在,我想基于这个vehicleStatus字段从“用户”集合中搜索。
这是我的架构-
vehicleStatus: {
_id: false,
twoWheeler: Boolean,
fourWheeler: Boolean
},
现在,我正在搜索用户是否具有twoWheeler,fourWheeler或两者都有。例如,假设John doe具有{twoWheeler:true,fourWheeler:false}。那么在猫鼬中搜索这种(vahicleStatus)字段的最佳方法是什么。
任何帮助将不胜感激。
答案 0 :(得分:1)
现在,我正在搜索用户是否具有twoWheeler,fourWheeler 或 两者。
User.find({
$expr: {
$or: [{
$eq: ['$vehicleStatus.twoWheeler', true]
}, {
$eq: ['$vehicleStatus.fourWheeler', true]
}]
}
}).then(console.log).catch(console.log);
您可以在此处Mongo Playground
进行检查答案 1 :(得分:0)
您可以像这样搜索您的匹配值:
const users = await User.find({
'vehicleStatus.twoWheeler': true,
'vehicleStatus.fourWheeler': true,
});
您也可以放置变量而不是true
。