Mireczki mam pytanie z pogranicza javy/springa i mongodb.

Piszę mikroserwis służący do wysyłki maili z załącznikami.
Do przechowywania maili będę wykorzystywał MongoDB i mam zagwozdkę jak przechowywać załączniki.

Aktualnie moja "naiwna" implementacja przechowuje w dokumencie listę załączników (obiekt zawierający nazwę pliku, content type i tablicę bajtów w postaci stringa).
Zastanawiam się nad zastosowaniem GridFS jednakże nie mam jeszcze info na temat maksymalnej wielkości załącznika a sami twórcy mongo w dokumentacji piszą:

Furthermore,
Co zrobiłem źle? ;/

// Konfiguracja polaczenia z baza danych
const mongoBDConnectionString = 'mongodb://Inus:xys@127.0.0.1:27017/kome?authSource=admin';
mongoose.connect(mongoBDConnectionString, { useNewUrlParser: true, useUnifiedTopology: true });
const db = mongoose.connection;

// Funkcja dodająca wpisy do bazy danych
function addRowDB(arg1, arg2, arg3, arg4){
db.on('error', function(){
console.log('#' + getDateAndTime() + '# Błąd połączenia z bazą danych');
});
db.once('open', function(){
console.log('#' + getDateAndTime() + '# Otwarto połączenie z bazą danych');
// let row;

// Dobranie odpowiedniego schematu rekordu
if (arg1
via Wykop Mobilny (Android)
  • 0
@abraca: hehe, no przyznam, że długo biłem się z tym pytaniem czy to rzeczywiście miałoby sens ;)
Ale ogólnie do NodeJS zalecali mongo, więc wykorzystałem
  • Odpowiedz
Znacie może jakiś dobry hosting oprócz amazon aws/google app engine dla backendu nodejs i mongodb? Aplikacja bardzo mała, spodziewam się niemalże zerowego ruchu więc nie chciałbym specjalnie przepłacać na początek, fajnie byłoby gdyby była możliwość dokupowania instancji "w razie czego", ale nie jest to najbliższa przyszłość. Szukam po prostu alternatyw do wyżej wymienionych usług.

#programowanie #nodejs #mongodb #hosting
W związku z tym iż ostatnio pytałem o MERNa chciałbym również spytać czy polecacie jakieś kursy. Jest ich sporo w formie tekstu i video ale czasami dużo nie znaczy dobrze. Może ktoś korzystał lub miał styczność z takim, z którego dobrze się uczyło - chętnie przyjmę.

Oczywiście dokumentacje na pierwszym miejscu. ( ͡° ͜ʖ ͡°)
#programowanie #nodejs #mongodb #react
via Wykop Mobilny (Android)
  • 1
#mongodb #bazydanych #programowanie

Polecicie jakiś bardziej zaawansowany tutorial z MongoDB?

Potrzebuję zrobić bardziej zaawansowane group by z zagnieżdżonych struktur. (I wyświetlić te dane w odpowiedni sposób np. tabeli / macierzy incydencji, bo potem chcę z tego zrobić graf.)

Nie mogę w internecie znaleźć nic poza podstawami ani bardziej zaawansowanych przykładów.

Nie wiem jak w ogóle do tego podejść i nie wiem których funkcji z dokumentacji powinienem użyć.
@mk321:

Wszystko o co pytasz to Aggregation Framework.
Trudno znaleźć zaawansowane tutoriale bo każdy przypadek jest specyficzny. I po prostu trzeba samemu eksperymentować.

Są tylko pojedyncze blogi:
http://www.kamsky.org/stupid-tricks-with-mongodb
http://tylerbrock.github.io/mongo-hacker/

Albo pytanie do ekspertów ze stack overflow, co bardzo polecam.

Albo pisz tutaj albo do mnie na prv - może coś pomogę, bo na agregacjach połamałem zęby.
  • Odpowiedz
Potrzebuję waszych mądrych głów do rozwiązania dość nietypowego problemu, pytanie zadałem na 4programmers.net ze względu na kolorowanie skryptu, tam znajdziecie wszystkie szczegóły.

W skrócie baza działa poprawnie, zwraca poprawny wynik, tak samo funkcja sortująca nest() działa poprawnie ale tylko z statycznymi danymi, ale gdy baza wysyła dane do funkcji nest() nie wyświetla poprawnych danych.

#programowanie #javascript #mongodb #mongoose #nodejs
via Android
  • 1
@villager no w tych czasach to oczywiste że przynajmniej wstęp zdalny, natomiast specyfika pracy nie wiem czy pasuje do zdalnej. Dunno. Wyślij, pogadamy.
  • Odpowiedz
@ofczy: przecież tam są górne widełki 18k za zapewne 21 dni pracujących, czyli raptem 107zł/h. Tyle można dostać za w zasadzie advanced jakiś language + advanced SQL. Tutaj zawalone 5 gwiazdek w kilku technologiach i jeszcze niby jako lead LOL.
  • Odpowiedz
#naukaprogramowania #java #mongodb #spring

Z relacyjnymi bazami w Javie/Springu jest tak:
- JDBC (niskopoziomowe, ręczne pisanie SQL, w praktyce bezpośrednio mało kto tego używa),
- Hibernate (poziom wyżej, operacje na obiektach),
- Spring Data (automatycznie generuje zapytania, repozytoria).

Jak to jest z MongoDB?
Z tego co udało mi się znaleźć, to odpowiedniki:
- org.mongodb:mongo-java-driver (podstawowy driver do ręcznego pisania zapytań, w tutorialach jest tego masa, ale domyślam się, że w praktyce nikt
Wykopki ratujcie, próbuje postawić nodebb na mydevil, na stronie jest tut do 1.5x z 2007 roku, stawianie forum na wersji sprzed 3 lat to troche nono, bez problemu udało mi się podbić do 1.9x ale od 1.10 jest już wymagany sharp, który nie lubi się z frebsd, ale ogarnałem dobry poradniczek w internecie.ktoś sie w to bawił. w sumie ogarnałem wszystko ale stoje na finalnej konfiguracji forum wg wzoru
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]]
próbowałem to
#docker #windows #windows10 #devops #mongodb

Chciałem zrobić prostą rzecz: uruchomić Dockera z MongoDB, podpiąć folder jako volume do danych w bazie (bo chcę mieć dostęp do plików bazy pod ręką).

Mam Windows 10, używam WSL, w ustawieniach Dockera mam zaznaczone "File sharing" na dysku, na którym chcę montować (z tym miałem problem, podobno trzeba było w firewallu odblokować, ale nadal mi nie działało - jak zaktualizowałem Dockera do nowszej wersji, to się
spróbuj na pendrajwie to postawić


@andale: udało mi się, żeby Docker widział pendrive, ale nadal nie działa.

Musiałem zrobić restart kompa i dopiero w ustawieniach Docker Desktop zaczął go widzieć. W Docker Desktop musiałem zaznaczyć File Sharing na tym dysku (pendrive). Teraz Docker go widzi i muszę podawać po nazwie dysku.

sudo mkdir /mnt/pen
sudo mount -t drvfs h: /mnt/pen
mkdir /mnt/pen/mongo
docker run -v /h/pen/mongo:/data/db/ -p 27017:27017 --name mymongo -d
  • Odpowiedz
Tak podmontuj ten dysk hyperv w Windowsie a później podmontuj w wslu

@PendzoncySzczypiorek: zamontowałem dysk z Hyper-V (ten automatycznie zrobiony przez Dockera) w Windowsie (według tego), ale go nie widzę. W internecie pisali, żeby ustawić literę takiego dysku. Ale nie mam takiej możliwości (screen).

Może powinienem utworzyć kolejny wirtualny dysk, dodać go do tej dockerowej maszyny na Hyper-V i wtedy taki nowy dysk dałoby się zamontować na Windowsie?

Tylko nawet
mk321 - > Tak podmontuj ten dysk hyperv w Windowsie a później podmontuj w wslu
@Pend...

źródło: comment_8TiWxeThQDF3hQog0TTcnWjkB5l2vmH6.jpg

Pobierz
  • Odpowiedz
#java #spring #mongodb

Normalnie do tworzenia aplikacji używam Javy, Springa, Spring Data, relacyjnych baz danych (bo to wszystko znam).

Teraz jednak chcę strzelać do pewnego API (wiele różnych strzałów), które zwraca mi dane (JSON-y nawet po kilka MB), wrzucać je do bazy, żeby potem to przetwarzać (zrobić jakieś zliczenia, agregacje itd).

Pomyślałem, że napiszę apkę w Javie, która wrzuci mi to do MongoDB jako JSON-y (czy lepiej do tego użyć innej bazy?).
@mk321: przede wszystkim dlaczego w ogole spring? Ma to działać gdzieś webowo? To jeszcze tego nie potrzebujesz. Jesli chcesz coś lekkiego do endpointów to możesz użyć jakiejś lekkiej biblioteki (jak ratpack czy javalin). Jeśli chcesz mongo to udostępnia driver do javy, mający nawet całkiem dużo metod napisanych już za Ciebie.
  • Odpowiedz
Zaczynam naukę w #javascript. mam pomysł na pewną stronkę, taki projekt bardziej dla samego siebie, ale po części takie małe MVP, a przynajmniej będę miał jakiś projekt do nauki. Niestety zakłada on również część typowo #backend, to znaczy rejestrację użytkownika + aby mógł dodawać wpis oraz go edytować (na razie pomijam kwestię bezpieczeństwa, dla mnie na razie z wcześnie). A ja bardziej jestem team #frontend. Jestem w stanie to
Jest tu jakiś spec od mongodb? Mam problem ze zrobieniem lookupu po pojedyńczym elemencie tablicy obiektów. Che zastąpić jedno pole w każdym z elementów tej tablicy tym co znajdzie mi lookup. Zrobiłem unwinda na tablicy, ale jakoś nie jestem w stanie potem złączyć elementów które rozbił unwind.

#mongodb #javascript #nodejs #backend
  • Odpowiedz