【发布时间】:2019-09-04 17:57:51
【问题描述】:
如何在 Mongo DB 中查询,顺便说一下我使用 Keystone JS。我想从车辆模型中过滤或获取结果,其中键和值来自例如 { 'Year' => '2019,2018', 'Make' => 'Acura,BMW' } 。它将过滤 where year = 2019 , 2018 与 Make 相同。
我当前的代码
view.on('init', function (next) {
var q = keystone.list('Vehicle').paginate({
page: req.query.page || 1,
perPage: 10,
maxPages: 10,
filters: {
state: 'published',
},
})
.sort('-publishedDate')
if (locals.filters.searchkeys) {
let urlSearchParams = new URLSearchParams(locals.filters.searchkeys)
for (var key of urlSearchParams.keys()) {
console.log("The Key :" , key)
//this part is where it would be dynamic
q.where('Year').in();
}
}
搜索参数
{ 'Year' => '2019,2018', 'Make' => 'Acura,BMW' }
收藏
{ total: 12,
results:
[ { _id: 5d6893cdc02d0e3020f84c85,
DriveType: 'FWD',
FuelType: 'Gasoline Fuel',
ImageList:
'',
Options:
'Traction Control,Stability Control,Front Wheel Drive,Tires - Front All-Season,Tires - Rear All-Season,Aluminum Wheels,Power Steering,4-Wheel Disc Brakes,ABS,Brake Assist,Sun/Moonroof,Generic
Sun/Moonroof,Rear Spoiler,Automatic Headlights,Fog Lamps,Heated Mirrors,Power Mirror(s),Privacy Glass,Intermittent Wipers,Variable Speed Intermittent Wipers,Leather Seats,Power Driver Seat,Bucket Seats,Heated Front Seat(s),Driver Adjustable Lumbar,Passenger Adjustable Lumbar,3rd Row Seat,Pass-Through Rear Seat,Floor Mats,Steering Wheel Audio Controls,Adjustable Steering Wheel,Engine Immobilizer,Tire Pressure Monitor,Power Windows,Power Door Locks,Universal Garage Door Opener,Keyless Entry,Cruise Control,Security System,Climate Control,A/C,Rear A/C,Rear Defrost,AM/FM Stereo,CD Changer,CD Player,Satellite Radio,Entertainment System,Power Outlet,Driver Vanity Mirror,Passenger Vanity Mirror,Driver Illuminated Vanity Mirror,Passenger Illuminated Visor Mirror,Rear Reading Lamps,Driver Air Bag,Passenger Air Bag,Front Side Air Bag,Passenger Air Bag Sensor,Front Head Air Bag,Rear Head Air Bag,Child Safety Locks',
Description: '',
DateInStock: '7/15/2019',
Invoice: 3000,
BookValue: '3686',
MSRP: 0,
SellingPrice: 5592,
Miles: 162111,
Transmission: 'Automatic',
EngineDisplacement: '3.5L',
EngineCylinders: '6',
InteriorColor: '',
ExteriorColor: 'Gray',
Doors: 4,
ModelNumber: 'YF2867JNW',
Trim: 'Ex-L',
Body: 'Convertible',
Model: 'Pilot',
Make: 'Honda',
Year: 2007,
VIN: '5FNYF28677B037628',
Stock: 'K2501A',
Type: 'Used',
image_gallery: [],
__v: 0,
CategorizedOptions: '',
Comment: '',
name: '',
publishedDate: null,
content: [Object],
categories: [],
image: [Object],
state: 'published',
Certified: true } ],
currentPage: 1,
totalPages: 2,
pages: [ 1, 2 ],
previous: false,
next: 2,
first: 1,
last: 1 }
【问题讨论】:
-
能否请您添加输入集合示例
-
你的意思是数据?
-
是的,您要查询的集合(车辆集合)示例 json 数据。
-
好吧,等一下吧
-
@sushantmehta 我已添加收藏
标签: javascript mongodb mongoose mongodb-query nodes