<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dokuwiki.webmastermsk.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dokuwiki.webmastermsk.ru/feed.php">
        <title> nodejs:mongo</title>
        <description></description>
        <link>https://dokuwiki.webmastermsk.ru/</link>
        <image rdf:resource="https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-08-12T13:13:12+0000</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:podkljuchenie&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:sozdanie_sxemy&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:spisok_kommand&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:svjazka_modelej_po_kljucham&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:transformacija_polja_modeli&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_iz_korziny&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_pozicii&amp;rev=1673515089&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:vyvod_korziny&amp;rev=1673515089&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico">
        <title></title>
        <link>https://dokuwiki.webmastermsk.ru/</link>
        <url>https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:podkljuchenie&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:podkljuchenie</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:podkljuchenie&amp;rev=1673515089&amp;do=diff</link>
        <description>подключение

первый способ


const express = require('express');//Подключаем модуль
const path = require('path');//Модуль для работы с путями к файлам и папкам
const exphbs = require('express-handlebars');//Подключаем шаблонизатор
const db = require('mongoose');
const config =  require('./config/config');
const PORT = process.env.PORT || 3000; //Получить порт из переменного окружения или использовать дефолтный

/**
 * Коннект к БД
 */
db.connect(mongodb://werwolf:2619192@192.168.99.100/Courses')…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:sozdanie_sxemy&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:sozdanie_sxemy</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:sozdanie_sxemy&amp;rev=1673515089&amp;do=diff</link>
        <description>Создание схемы

models/course.js - Создание модели для обработки курсов


const {Schema, model} = require('mongoose');//подключаем из библиотеки mongo,модуль создания схемы - Schema,
// и модуль регистрации моделей - model

const course = new Schema({//Создаем схему БД для модели
    title: {//Поле title с опциями
        type:String,//тип поля - строка
        required: true,//Обязателное поле
    },
    price: {
        type: Number,//тип поля число
        required: true//обязательное поле
  …</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:spisok_kommand&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:spisok_kommand</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:spisok_kommand&amp;rev=1673515089&amp;do=diff</link>
        <description>список комманд


//=//=// Основы


db.auth('admin-user', 'admin-password')

db = db.getSiblingDB('test-database')

db.createUser({
  user: 'test-user',
  pwd: 'test-password',
  roles: [
    {
      role: 'root',
      db: 'test-database',
    },
  ],
});

// Показать базы данных
show dbs

// Создать базу данных people
use people

// Текущая база данных
db

// Показать коллекции в текущей базе данных
show collections

// Добавление документа в коллекцию
doc = { name: &quot;Smith&quot;, age: 30, profession…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:svjazka_modelej_po_kljucham&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:svjazka_modelej_po_kljucham</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:svjazka_modelej_po_kljucham&amp;rev=1673515089&amp;do=diff</link>
        <description>Связка моделей по ключам

models/user.js


const {Schema, model} = require('mongoose')//подключаем из библиотеки монго,модульсоздания схемы - Schema,
// и модуль регистрации моделей - model

/**
 * Схема пользователя
 *
 * В табличке пользователя сразу встраиваем корзину
 * @type {*|Mongoose.Schema}
 */
const userSchema = new Schema({
    email: {//email
        type: String,
        required: true
    },
    name: { //Имя пользователя
        type: String, //строка
        required: true //поле…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:transformacija_polja_modeli&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:transformacija_polja_modeli</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:transformacija_polja_modeli&amp;rev=1673515089&amp;do=diff</link>
        <description>трансформация поля модели после выбоки ( _id =&gt; id )


const {Schema, model} = require('mongoose');//подключаем из библиотеки монго,модульсоздания схемы - Schema,
// и модуль регистрации моделей - model

const course = new Schema({//Создаем схему БД для модели
    title: {//Поле title с опциями
        type:String,//тип поля - строка
        required: true,//Обязателное поле
    },
    price: {
        type: Number,//тип поля число
        required: true//обязательное поле
    },
    img: String…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_iz_korziny&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:udalenie_iz_korziny</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_iz_korziny&amp;rev=1673515089&amp;do=diff</link>
        <description>удаление из корзины

routes/card.js


const {Router} = require('express');//или const express.Router = require('express'); - модуль express
//const Card = require('../models/card');
const Course = require('../models/course');

const router = Router();

/**
 * Преоброзовать массив
 * @param cart
 * @returns {{count: *}[]}
 */
function mapCartItems(cart){
    return cart.items.map(c =&gt; ({//Обежим массив и вернем его в нужном виде
        ...c.courseId._doc, count:c.count
    }));
}

//посчитать ит…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_pozicii&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:udalenie_pozicii</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:udalenie_pozicii&amp;rev=1673515089&amp;do=diff</link>
        <description>удаление позиции


&lt;form action=&quot;/courses/remove&quot; method=&quot;post&quot;&gt;
	&lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;{{course.id}}&quot;/&gt;
	&lt;button type=&quot;submit&quot; class=&quot;btn red&quot; &gt;&lt;i class=&quot;material-icons &quot;&gt;delete&lt;/i &gt;&lt;/button&gt;
&lt;/form&gt;



const {Router} = require('express'); //или const express.Router = require('express');
const Course = require('../models/course');//модель для вывода списков курсов
const router = Router();//инициализируем роутер


router.post('/remove', async (req, res) =&gt; {

    await Course.del…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:vyvod_korziny&amp;rev=1673515089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-12T09:18:09+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nodejs:mongo:vyvod_korziny</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=nodejs:mongo:vyvod_korziny&amp;rev=1673515089&amp;do=diff</link>
        <description>вывод корзины

routes/card.js


const {Router} = require('express');//или const express.Router = require('express'); - модуль express
//const Card = require('../models/card');
const Course = require('../models/course');

const router = Router();


/**
 * Преоброзовать массив
 * @param cart
 * @returns {{count: *}[]}
 */
function mapCartItems(cart){
    return cart.items.map(c =&gt; ({//Обежим массив и вернем его в нужном виде
        ...c.courseId._doc, count:c.count
    }));
}

//посчитать итогову…</description>
    </item>
</rdf:RDF>
