MongoDB。对数据进行排序和筛选
我在数据库中有两个集合——“产品”和“类别” 每个产品都与类别相关,可以继承子类别的产品,例如: 集合“类别”(类别树): 收藏“产品”: 我创建了一个页面,按类别、价格和其他属性筛选产品,并实现了按字段“名称”、“价格”排序的结果,如:MongoDB。对数据进行排序和筛选,mongodb,sorting,filter,Mongodb,Sorting,Filter,我在数据库中有两个集合——“产品”和“类别” 每个产品都与类别相关,可以继承子类别的产品,例如: 集合“类别”(类别树): 收藏“产品”: 我创建了一个页面,按类别、价格和其他属性筛选产品,并实现了按字段“名称”、“价格”排序的结果,如: products.find({"categories": {"$in": ["1", "2"]}, "price": {"$gte": 1000, "$lte": 5000}}).sort({"price": -1}) 现在,我需要手动设置每个类别的产品订单
products.find({"categories": {"$in": ["1", "2"]}, "price": {"$gte": 1000, "$lte": 5000}}).sort({"price": -1})
现在,我需要手动设置每个类别的产品订单。
我该怎么做
此外,类别可能有10000多个产品,但在过滤后,我希望过滤后的产品顺序将保持过滤前的顺序,只有不符合过滤条件的产品
我想我需要这样的东西,但我不确定: products.find({“categories”:{“$in”:[“1”,“2”]},“price”:{“$gte”:1000,$lte:5000}})。sort({“category_order.1”:1}) 在每个产品中添加dict{“category_order”:{“1”:1,“2”:1},其中键是category_id,值是category中的order 有什么想法吗
{
"id": "3",
"name": "Product",
"categories": ["2"],
"price": 1000, ...
}, ...
products.find({"categories": {"$in": ["1", "2"]}, "price": {"$gte": 1000, "$lte": 5000}}).sort({"price": -1})