我正在尝试在猫鼬中做一些事情而不会重复聚合。我有以下功能来获取带分页的表格:
async queryOrdersTable(_, { search, page, limit }) {
try {
let searchQuery = {};
if (search) {
searchQuery = {
$or: [
{ onr: { $regex: search, $options: 'i' } },
{ kund: { namn: { $regex: search, $options: 'i' } } },
]
}
}
const results = await Order.find(searchQuery)
.populate('kund', 'namn KundNr')
.limit(limit)
.sort({ onr: -1 })
.collation({ locale: "en_US", numericOrdering: true })
.skip((page - 1) * limit)
const count = await Order.countDocuments(searchQuery)
return {
rows: results, totalPages: Math.ceil(count / limit), currentPage: page
};
} catch (error) {
console.log(error)
}
}
文档结构如下:
const Order ={
onr: "123A123,
kund:{
_id: ObjectId(23927342734assd123)
}
然后是昆德:
kund:{
_id: ObjectId(23927342734assd123)
namn: "Exempel 1"
}
我想要做的是,让搜索变量通过 kund namn 查询和过滤文档,但是却给了我一个错误(因为我猜它在查询时尚未填充。任何提示?