В настоящее время я работаю над проектом NodeJS с использованием запросов Mongoose.
Появилось новое требование, которое я не могу понять, как его решить. Я хочу взять строку запроса и найти ее во всех коллекциях моей базы данных, чтобы получить объекты, соответствующие этому значению.
Вот так выглядит моя коллекция:
Книги:
{
"book_id": "ab12nld”,
"book_version": "0”,
"author": “Sam”,
“name”: “Sample Book”,
“comments”: “Done”
},
{
"book_id": "a5g2nld”,
"book_version": "1",
"author": "Martin",
"name": "Sample Book",
“comments”: “In Progress”
}
Автомобили:
{
"car_id": "nlp240n”,
"car_model": "3”,
"brand": “Hyundai”,
“name”: “Verna”,
“color”: “Blue”
},
{
"car_id": "cak201n”,
"car_model": "1”,
"brand": “Tata”,
“name”: “Indica”,
“color”: “Black”
}
Телефоны:
{
"phone_id": "n0830bo”,
"brand": “OnePlus”,
“name”: “7 Pro”,
“color”: “Red”
},
{
"phone_id": "bh97b01”,
"brand": “IPhone”,
“name”: “11 Pro”,
“color”: “Black”
}
Я получу query_string
, который будет найден в этой коллекции, и если найдется подходящийрезультат, я должен получить все связанные значения.
Пример:
Если query_string
равен Martin
, я должен получить соответствующий результат из коллекции Книги, так как присутствует Martin
только там:
{
"book_id": "a5g2nld”,
"book_version": "1",
"author": "Martin",
"name": "Sample Book",
“comments”: “In Progress”
}
Если query_string
равно Black
, я должен получить соответствующий результат из коллекций автомобилей и телефонов, так как оба имеют значение Black
:
{
"car_id": "cak201n”,
"car_model": "1”,
"brand": “Tata”,
“name”: “Indica”,
“color”: “Black”
},
{
"phone_id": "bh97b01”,
"brand": “IPhone”,
“name”: “11 Pro”,
“color”: “Black”
}
Это кажется хитрым, и я не знаю, как двигаться дальше. Любая помощь будет оценена.