![](/img/trans.png)
[英]how to query mongo find / aggregate, based on objects that are not arrays
[英]How do sort in mongo based on objects in url query string?
I want to sort a mongo collection on base of following query in URL string from a node application.
http://localhost:5000/v1/bid/sort_bid?sort={"_id": -1,"enquiry_no": 1}
how do I pass an object in following code?
const getSortedBidList = catchAsync(async (req, res) => {
let { sort } = req?.query;
console.log('Query String', sort);
let object = new Object();
object[sort] === 1 ? 'ASC' : 'DESC';
let result = await Bid
.find({})
.sort(object)
.limit(limit)
.skip(offset);
在排序方法中,我传递了查询字符串的对象,但它不起作用。 请帮忙解决这个问题。 谢谢你
尝试以下操作:
http://localhost:5000/v1/bid/sort_bid?sort[_id]=-1&sort[enquiry_no]=1
从此处了解有关 express 如何解析查询字符串的更多信息。
我建议您使用npm qs
包以编程方式将前端的对象解析为查询字符串:
import qs from 'qs';
async function sendRequestToBackend(queryAsObject) {
const stringifiedQuery = qs.stringify(queryAsObject);
await sendRequest(`http://localhost:5000/v1/bid/sort_bid?${stringifiedQuery}`)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.