С Новым годом! Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/47: Рейтинг темы: голосов - 47, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 17.10.2017
Сообщений: 72

Node.js и Mongodb вывод всех данных по условию

04.11.2017, 15:43. Показов 9595. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть бд в монго - клиенты. Надо вывести все имена клиентов у которых поле = вводимому значению.
Поясню.
Название бд - db. Название коллекции - clients.
Структура клиента: name,age,type.
Пользователь вводит в браузере тип(http://localhost:1000/clients/TypeName) и ему выводится на экран имена всех пользователей с заданным типом.
У меня вышло вывести только первого клиента в бд с таким типом. Нужен мб некий цикл. Но с Node.js и Mongodb работаю 1 раз.
Структура js файла на вывод первого клиента.:

JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var express = require("express");  
const MongoClient= require('mongodb').MongoClient;
var app = express();                
var url = "mongodb://localhost:27017/db";
app.set("view engine", "hbs"); 
app.get("/clients/:type", function(request, response){
    var clienttype = request.params.type;
    MongoClient.connect(url, function(err, db){
        db.collection("clients").findOne({type: clienttype}, function(err, client){
            
            if(err) return res.status(400).send();
            db.close();
            response.render("123.hbs", {
            name: client.name,
            type: client.type
           });
        
        }
        );
    });
});
app.listen(1000);
Структура hbs файла:
HTML5
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html> 
<html>
<head>  
  <title>{{name}}</title>  
  <meta charset="utf-8" /> </head> 
  <body>  
  <h3>Тип: {{type}}</h3>
  <h3>names: {{name}}</h3>
  </body> 
  <html>
Что надо добавить/изменить для вывода всех пользователей с заданным типом?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2017, 15:43
Ответы с готовыми решениями:

Mongodb + node.js
Здравствуйте . Есть код для подключения к mongodb в node , через модуль mongodb . Далее данные должны быть отображены сервером при...

Как mongodb подключить к node js с помощью webstorm?
как mongodb подключить к node js с помощью webstorm?

Node.js +MongoDB + Ubuntu
Всем привет! Столкнулся с трудностью по подключению Базы данных к проекту. Есть готовая база данных (папка с файлами). Нужно эту БД...

3
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
04.11.2017, 19:28
Лучший ответ Сообщение было отмечено Mobong как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var express = require("express");  
const MongoClient= require('mongodb').MongoClient;
var app = express();                
var url = "mongodb://localhost:27017/db";
let database;
app.set("view engine", "hbs");
app.get("/clients/:type", function(request, response){
    var clienttype = request.params.type;
    database.collection("clients").find({type: clienttype}).toArray(function(err, clients){
      if(err) return res.status(400).send();
      response.render("123.hbs", {
        clients
      });
    });
});
MongoClient.connect(url, function(err, db){
  if (err) throw err;
  database = db;
  app.listen(1000);
});
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html> 
<html>
<head>  
  <title>{{name}}</title>  
  <meta charset="utf-8" /> </head> 
  <body>
  <ul>
  {{#each clients}}
    <li>
      <p>Name: {{this.name}}</p>
      <p>Age: {{this.age}}</p>
      <p>Type: {{this.type}}</p>
    </li>
  {{/each}}
  </ul>
  </body> 
  <html>
1
1 / 1 / 0
Регистрация: 17.10.2017
Сообщений: 72
04.11.2017, 20:00  [ТС]
Спасибо! Все работает. Один вопрос только, Имя, возраст и тип выводятся в списке. Как вынести к примеру тип отдельно? Что бы он лишь 1 раз появился?
0
Coding is art
Эксперт JS
540 / 423 / 154
Регистрация: 04.09.2013
Сообщений: 1,066
04.11.2017, 20:10
JavaScript
1
2
3
4
response.render("123.hbs", {
        clients,
        type: clienttype
});
HTML5
1
<p>Type: {{type}}</p>
вне each цикла
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2017, 20:10
Помогаю со студенческими работами здесь

Mongodb, Mongoid как ускорить запись данных в Mongodb
Добрый вечер всем! Мне нужно записать в Mongodb 2.000.000 рядов информации, по очереди, один за одним, перед записью програма проверяет...

Вывод данных по условию
Прошу помочь с такой проблемой. Есть массив данных, есть таблица для вывода этих данных. Но выводит нужно не все, а только то что...

Вывод данных по условию
Здравствуйте. Есть проблема, не могу вывести данные подходящие по условию. Если записать условие в ADOQuery, WHERE...

Вывод данных по условию
Пытаюсь с помощью представления вывести по условию данные из нескольких таблиц.В зависимости от условия данные должны выводиться или из...

Вывод списка всех данных на всех страницах
Идея такая, что нужно вывести список в текстовом формате всех страниц. На примере более ясно: Взять этот же форум. Например, я хочу взять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru