LINUX.ORG.RU

30
Всего сообщений: 178

Резервирование данных в ex4

Доброго времени суток, хочу сделать резервирование данных сервера, на нем есть БД Mongodb, подскажите есть возможность сделать снэпшот системы не захватывая при этом БД. Для понимания, хочу БД резервировать методом обратного инкремента, а остальную часть системы полным бекапом. Если кто делал, что-то подобное буду рад любой информации.

 ,

rode_one ()

Racket, Mongodb, BSON ObjectID

Комрады. Есть вопрос. Как из документа, полученного с помощью mongo-collection-find я могу получить ObjectID (_id для mongodb)? bson-objectid->string возвращает какую-то ересь

 ,

silver-bullet-bfg ()

Не возвращается список коллекций

Комрады, вопрос по Racket. Использую Rackte + db/mongodb. Получаю коннект к Mongo: (mongo (create-mongo #:host host #:port port)), потом собственно саму БД (database (make-mongo-db mongo db-name)). После этого пытаюсь пользовать (mongo-db-collections db), т.е. делаю (mongo-db-collections database), но получаю как итог - пустой список. Коллекции в БД есть (3 штуки). Цель получить именно имена коллекций в данной БД. В чем может быть проблема?

Заранее всем спасибо за разъяснение.

 , , ,

silver-bullet-bfg ()

All.me | Senior Golang разработчик от 180net (Нижний Новгород)

Открылась вакансия Senior Golang разработчик для работы над нашим инновационным проектом all.me.

Офис: НН, Деловая 24к1

Наш стек технологий: • Golang; • MongoDb; • Redis; • Git; • *nix

Обязанности: Разработка сервисов на Golang; Написание unit-тестов; Создание качественного, легко поддерживаемого кода; Разработка новых и доработка существующих сервисов в backend.

Подробности: +7 (996) 009-06-82 (Telegram, WhatsApp, Viber) Oleg.Oltybaev@all.me

 , , , ,

Oleg_Oltybaev ()

F# и .NET Core для онтопика

Коллеги. Хотят тут у нас внедрить F# в разработке для написания разного рода REST API. Хочется узнать - кто юзал? Что по впечатлениям? В чем плюсы/минусы? Какие фреймворки и ODM (используем MongoDB, ArangoDB) посоветуете?

Заранее спасибо.

 , , ,

silver-bullet-bfg ()

Ищу key - value базу данных с подключением через файл, а не сеть

Сабж. Нужно что-то типа MongoDB, но подключающейся как SQLite, через файл, чтобы таскать вместе с програмой. При этом база должна поддерживать многопоточность (программа сама многопоточная)

Желательно что-то более-менее мейнстримное и документированное

 , ,

Qwentor ()

Ищу клиент MongoDB для Android

Ищу клиент MongoDB для Android

Нужно, чтобы поддерживало коннект по ssh, поэтому Mongo Explorer и Mongo Client не подходят.
Есть платный MongoLime - стоит ли его покупать или есть какие-то бесплатные альтернативы?

 ,

Qwentor ()

unrest framework

Итак вы закончили ваш прототип на django rest framework и он уже начал тормозить. Ну конечно, вложенный сериализатор в сериализатор в сериализатор, ещё эти каунты и аггрегация в serializermethodfield. Нормально это шевелится только если кешировать весь ответ. Но там же 10 фильтров и 3 вида сортировки! Вот бы можно было искать по такому кэшу… Стоп! Где-то я такое видел.

Generic views в drf имеют serializer_class и queryset. Завернув один в другой мы получим json который можно засунуть в коллекцию монги и искать по ней. Осталось сделать небольшой бэк с монгой, я, к примеру, взял aiohttp и aiomongo. Ну и написал management — команду, которая генерит такой код, преобразует filterset в webargs, и выдергивает из подходящих вьюшек данные загружая из в монгу.

Это такой proof of concept, но может кому-то покажется интересным.

http://github.com/pawnhearts/unrest_framework

Надо добавить unrest_framework в INSTALLED_APPS и появятся management — комманды export_to_mongo и generate_aiohttp

 , ,

pawnhearts ()

Компилируемый WebDevelopment

Коллеги. В теме собственно вопрос. Что пользовать.

Вообще - очень хотелось бы ссылки на нормальные фреймворки (интересны web-сокеты, REST. В идеале что-то вроде expressjs/moleculer и socket.io) + ODM для MongoDB (что-то вроде Mongoose).

Интересны любые компилируемые языки. Приоритет - С++.

 , , ,

silver-bullet-bfg ()

А кто в монге и репликации понимает?

Хочу в докере собрать кластер из пары монг.

беру докер от монги, собираю кластер в docker-compose

version: '3.4'
      
services:
  mongo-ev-1:
    networks:
      - mongo
    container_name: mongo-ev-1
    restart: on-failure
    image: mongo:4
    ports:
      - "7017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: test
      MONGO_INITDB_ROOT_PASSWORD: test
      MONGO_INITDB_DATABASE: test
    command: mongod --replSet rs0
  
  mongo-ev-2:
    networks:
      - mongo
    container_name: mongo-ev-2
    restart: on-failure
    image: mongo:4
    ports:
      - "7018:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: test
      MONGO_INITDB_ROOT_PASSWORD: test
      MONGO_INITDB_DATABASE: test
    command: mongod --replSet rs0
    links:
      - mongo-ev-1
    volumes:
      - ./docker-data/mongo:/docker-entrypoint-initdb.d
networks:
  mongo:
    driver: bridge

и кладу скрипт initCluster.sh в каталог docker-entrypoint-initdb.d :

mongo <<EOF
config = {
    "_id": "rs0",
    "members": [
        {
            "_id": 0,
            "host": "mongo-ev-1:27017"
        },
        {
            "_id": 1,
            "host": "mongo-ev-2:27017"
        }
    ]
};

rs.initiate(config, {"force": true});
rs.reconfig(config, { force: true });
EOF

Дальше смотрю как запущены в каждом докере монги:

docker exec -it mongo-ev-2 ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ssl    0:05 mongod --replSet rs0 --auth --bind_ip_all
   65 pts/0    Rs+    0:00 ps ax

видно что опция replSet установлена, всё ок

в docker logs вижу ошибки:

Implicit session: session { "id" : UUID("4ef9e731-3529-4db3-895c-4baabbc08ea7") } 
MongoDB server version: 4.2.0
{
        "_id" : "rs0",
        "members" : [ 
                {
                        "_id" : 0,
                        "host" : "mongo-ev-1:27017"
                },
                {
                        "_id" : 1,
                        "host" : "mongo-ev-2:27017"
                }
        ]               
}                       
{               
        "ok" : 0,
        "errmsg" : "This node was not started with the replSet option",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
}
2019-10-03T09:08:46.389+0000 E  QUERY    [js] uncaught exception: Error: Could not retrieve replica set config: {
        "ok" : 0,
        "errmsg" : "not running with --replSet",
        "code" : 76,
        "codeName" : "NoReplicationEnabled"
} :
rs.conf@src/mongo/shell/utils.js:1531:11

и что-то не вкурю что я не так делаю?

Перемещено a1batross из talks

 ,

rsync ()

не происходит экспорт в mongodb

( читать дальше... )

Собственно сам запрос. Но на попытку mongoexport выдает ошибку «is not valid JSON: invalid character ':' looking for beginning of object key string»

Подскажите где копать

 

Darki ()

Как подружить новую джангу со старой монгой?

Нужно из Django 2.2 подключаться к MongoDB 2.4.10
Система на Debian 9 amd64, Python 3.5

django-nonrel не поддерживается второй джангой, а для djongo нужен Python 3.6 и MongoDB 3-й версии

Сейчас говнокодю без интеграции в джангу, просто использую старую версию pymongo (новые уже тоже не поддерживают)

Есть ли возможность интегрировать это в Django ORM или говнокодить дальше?

 , ,

Qwentor ()

Мониторинг кластера MongoDB из Zabbix

Посоветуйте решение для сабжа, чем правильно пользоваться.

 ,

ostin ()

JSON Schema datetime

Добрый день. описываю JSON схему. Возник вопрос о том описывается ли datetime (2019-02-11 16:52:17.469480) просто как string или там подразумевается свой формат данных? В Mongo (для отправки куда схема и формируется) это выглядит как ISODate(«2019-02-11 16:52:17+0000»)

 , ,

Andreezy ()

Стиль кода

Смотрю на официальный пример библиотеки mgo : https://labix.org/mgo

package main

import (
        "fmt"
	"log"
        "gopkg.in/mgo.v2"
        "gopkg.in/mgo.v2/bson"
)

type Person struct {
        Name string
        Phone string
}

func main() {
        session, err := mgo.Dial("server1.example.com,server2.example.com")
        if err != nil {
                panic(err)
        }
        defer session.Close()

        // Optional. Switch the session to a monotonic behavior.
        session.SetMode(mgo.Monotonic, true)

        c := session.DB("test").C("people")
        err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
	               &Person{"Cla", "+55 53 8402 8510"})
        if err != nil {
                log.Fatal(err)
        }

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                log.Fatal(err)
        }

        fmt.Println("Phone:", result.Phone)
}

Зачем делают так?

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                log.Fatal(err)
        }

Почему не так так?

        result := Person{} 
        result, err = c.Find(bson.M{"name": "Ale"}).One()
        if err != nil {
                log.Fatal(err)
        }

В чем смысл?

 ,

rubefiya ()

Qt+mongocxx = undefined symbol: bson_as_relaxed_extended_json

Всем привет. В qt-проекте решил использовать mongodb. Установил с++ драйвер, как написано здесь http://mongocxx.org/mongocxx-v3/installation/ С использованием MNMLSTC/core

cmake -DCMAKE_BUILD_TYPE=Release -DBSONCXX_POLY_USE_MNMLSTC=1 -DCMAKE_INSTALL_PREFIX=/usr/local ..

Собрал и запустил тестовое приложение, которое предлагается. Все отработало успешно.

В рабочий QT проект, в main вставил это тестовое приложение

#include "reestr.h"
#include <bsoncxx/builder/stream/document.hpp>
#include <bsoncxx/json.hpp>

#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <QApplication>
#include <iostream>

int main(int argc, char *argv[])
{
    mongocxx::instance inst{};
    mongocxx::client conn{mongocxx::uri{}};

    bsoncxx::builder::stream::document document{};

    auto collection = conn["testdb"]["testcollection"];
    document << "hello" << "world";

    collection.insert_one(document.view());
    auto cursor = collection.find({});

    for (auto&& doc : cursor) {
        std::cout << bsoncxx::to_json(doc) << std::endl;
    }

    QApplication a(argc, argv);
    Reestr w;
    w.createActions();
    w.createMenu();
    w.show();

    return a.exec();
}

В QT проекте подключил либы

CONFIG += c++11 link_pkgconfig
PKGCONFIG += libmongocxx

Собрал

22:20:12: Running steps for project Overside...
22:20:12: Starting: "/usr/bin/make" clean
rm -f moc_reestr.cpp moc_settings.cpp
rm -f ui_reestr.h ui_settings.h
rm -f main.o reestr.o settings.o connectionsettings.o moc_reestr.o moc_settings.o
rm -f *~ core *.core
22:20:12: The process "/usr/bin/make" exited normally.
22:20:12: Configuration unchanged, skipping qmake step.
22:20:12: Starting: "/usr/bin/make" 
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../overside/reestr.ui -o ui_reestr.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../overside/settings.ui -o ui_settings.h
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o main.o ../overside/main.cpp
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o reestr.o ../overside/reestr.cpp
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o settings.o ../overside/settings.cpp
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o connectionsettings.o ../overside/connectionsettings.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/home/gustav/work/overside -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/bsoncxx/v_noabi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/6 -I/usr/include/x86_64-linux-gnu/c++/6 -I/usr/include/c++/6/backward -I/usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../overside/reestr.h -o moc_reestr.cpp
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o moc_reestr.o moc_reestr.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/home/gustav/work/overside -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/bsoncxx/v_noabi -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/6 -I/usr/include/x86_64-linux-gnu/c++/6 -I/usr/include/c++/6/backward -I/usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include ../overside/settings.h -o moc_settings.cpp
g++ -c -m64 -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../overside -I. -isystem /usr/local/include/mongocxx/v_noabi -isystem /usr/local/include/bsoncxx/v_noabi -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o moc_settings.o moc_settings.cpp
g++ -m64 -o Overside main.o reestr.o settings.o connectionsettings.o moc_reestr.o moc_settings.o   -L/usr/X11R6/lib64 -L/usr/local/lib -lmongocxx -lbsoncxx -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread 
22:20:19: The process "/usr/bin/make" exited normally.
22:20:19: Elapsed time: 00:07.

По выхлопу сборки видно что либы добавлены. А при запуске приложения получаю

symbol lookup error: /usr/local/lib/libbsoncxx.so._noabi: undefined symbol: bson_as_relaxed_extended_json

В чем проблема может быть?

 , ,

surikon ()

MongoDB 3.6 для ArchLinux

Есть где-нибудь пакет/AUR? Как поставить?

 , , ,

bvn13 ()

Новейшие веб-технологии - хипстерство или как?

Я старый пхп-шник из провинции. Из фронтенд-фреймворков реальный опыт работы имею только с jquery с плугами и бутстрап. Для разработки crm на заказ хватало. Ведь хостинг с пыхой можно найти везде, всегда и дешево, даже бесплатно, а всякие руби, питон там попробуй-ка. Всякие ember.js, react.js и пр. долгое время воспринимал как гикство, не заслуживающее серьезного внимания и изучения. К node.js так же относился. А сейчас стал задумываться, ролики смотреть по темам - видеокурсы, выступления на js-конфах и тд. Много всякого развелось. Некоторые говорят что непонятно что делать с этим зоопарком технологий. Angular, React, Vue.js а еще всякие бэкбоны, эмберы. А некоторые говорят что нафиг нужно писать на чистом js, есть дарт-образные языки, которые компилятся в жс. А еще вебассембли - там вообще, глядишь, все изменится до неузнаваемости. И на бэкенде. Мало ноды с экспрессом, так еще сокетный веб какой-то прет. А субд. Раньше был мускул, который везде, ну слышали кое-что про постгресс. А сейчас MongoDB, RethinkDB еще какие-то субд нового типа. Когда все это дело более или менее устоится как в свое время устоялась пыха+мускул+jq ? Тут даже если плотно начать что-нибудь изучать вдруг окажется что завтра это уже устарело.

 , , ,

dwarfadelic ()

bind_ip mongodb

Добрый день!, не получается добавить несколько хостов в bind_ip в mongodb. Версия mongodb v2.4.14.

На данный момент работает такой параметр: bind_ip=127.0.0.1, если пытаешься добавить через запятую что-то, то монга перестает запускаться...Пробовал такие варианты:

bind_ip=127.0.0.1,192.168.252.20
bind_ip:127.0.0.1,192.168.252.20
bind_ip:[127.0.0.1,192.168.252.20]
bind_ip:<127.0.0.1,192.168.252.20>
bind_ip=<127.0.0.1,192.168.252.20>
bindIP = 127.0.0.1,192.168.252.20
bindIP = [127.0.0.1,192.168.252.20]

Варианты с пробелами и тд тоже пробовал. Заранее спасибо.

 , ,

Flover ()

JSON теперь в SQL: SQL/JSON

Монгокапец

Объектная модель данных теперь в SQL: хранение, запросы, прозрачная интеграция с реляционной схемой.

Part 6: SQL support for JavaScript Object Notation (JSON) https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_...

Уже в Постгресе (то ли в последнем выпущенном, то ли в надвигающемся).

 , , , ,

bender ()