Как работать с MongoDB?
Скачал и установил MongoDB. Работаю через MongoDB Compass. Как я понял благодоря этой программе лазить в терминале нет необходимости. Так вот, мне необходимо с Telegram бота занести в базу все данные об пользователе. Но главный вопрос, как? Раньше работал с MySQL, там как известно все это делается через запросы. Но здесь? Вот как мне сюда добавить - username, chat.id и прочее?

Работаю я с node js и библиотекой "mongoose". Весь день бьюсь об стенку с этим вопросом. Задаю анологичные вопросы с MySQL. Но ответы вообще не те. Я не знаю, как мне проавильно сформулировать запрос поиска. По возможности, дайте ссылки и примеры кода добавления и подключения;)
Ответы (1 шт):
Ну например:
const mongoose = require("mongoose");
// подключение
mongoose.connect("mongodb://localhost:27017/tgbot_test", { useNewUrlParser: true, useUnifiedTopology: true });
...
const Schema = mongoose.Schema;
// установка схемы
const userScheme = new Schema({
username: {
type: String,
required: true
},
chat_id: {
type: String,
required: true
}
}, {
collection: 'users'
});
// создание модели
const User = mongoose.model("User", userScheme);
...
router.get('/', wrap(async function(req, res, next) {
let query = User.find()
const searchName = req.query.name
if (searchName) {
query = query.where('username').regex(new RegExp(`${searchName}`))
}
const foundUsers = await query.exec();
res.json(foundUsers)
}));
router.post('/', wrap(async function(req, res, next) {
const userProps = req.body
const user = new User(userProps);
try {
const newUser = await user.save();
res.status(200).json(newUser);
} catch (err) {
res.status(500).send(err);
}
}));
router.put('/:id', wrap(async function(req, res, next) {
const userProps = req.body
const userId = req.params.id
try {
const user = await User.findById(userId).exec();
user.set(userProps)
await user.save()
res.status(200).end();
} catch (err) {
res.status(500).send(err);
}
}));