• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed MongoDb - prosta sprawa

Object Storage Arubacloud
0 głosów
202 wizyt
pytanie zadane 20 maja 2018 w JavaScript przez Vorex444 Dyskutant (9,610 p.)
zamknięte 20 maja 2018 przez Vorex444

Hej, bawię się z mlab i chcę pobrać tylko te obiekty, których login spełnia podane wymaganie.

W dokumentacji mlab pokazuje, że trzeba tak się odwołać

"q" example - return all documents with "active" field of true:
https://api.mlab.com/api/1/databases/my-db/collections/my-coll?q={"active": true}&apiKey=myAPIKey

Ja mam taki kod

this.http.get(`${this.users_DB}?q={'login':'wojtek'}&apiKey=${this.key}`).subscribe(dataFromApi => {
          console.log(dataFromApi);
 }

Błąd, który otrzymuje 

{ "message" : "Please provide a valid API key."}

Nie rozumiem dlaczego, przecież podałem wszystko poprawnie, może ktoś używa/używał mlab i jest wstanie pomóc.

 

komentarz zamknięcia: prblem rozwiazny
komentarz 20 maja 2018 przez ScriptyChris Mędrzec (190,190 p.)

Zobacz, czy w polu this.key jest klucz. Jeśli tak, sprawdź czy jest on prawidłowy (zweryfikuj na stronie API).

komentarz 20 maja 2018 przez Vorex444 Dyskutant (9,610 p.)
jak uzywam this.users_DB i this.key to mi pobiera całą tablicę, więc działa this.key
komentarz 20 maja 2018 przez ScriptyChris Mędrzec (190,190 p.)

pobiera całą tablicę

this.key powinien być raczej string.

komentarz 20 maja 2018 przez Vorex444 Dyskutant (9,610 p.)
już wiem, po prostu miałem 2x &apiKey w get moj blad

1 odpowiedź

0 głosów
odpowiedź 20 maja 2018 przez sebeks Mądrala (5,300 p.)

Dokumentacji MLab? Dlaczego nie korzystasz z dokumentacji MongoDB? Mój kod wygląda tak:

function getUser(req,res,collection){
  collection.find({owner: req.session.user}).toArray(function (err, result) {
    if (err) throw new Error('Failed to get user from the database');
    // tu pracujesz na wyciągniętych danych z bazy, które są tablicą
    // jeśli nie ma błędów to odsyłasz dane
    res.send(result);
}

Do tej funkcji przesyłasz obiekt request, obiekt response oraz obiekt kolekcji. Kolekcję dla bazy wybierasz w ten sposób:

const dbName = process.env.DB_NAME || 'nazwaDbLocalhost';
const db = database.db(dbName);
const users = db.collection('users');

i tą zmienną users używasz jako argument dla funkcji getUser jako collecion. Pierwszy obiekt  na przykład {owner: req.session.user} to warunek do szukania, jeśli ten obiekt będzie pusty to zwróci całą kolekcję. I ta kolekcja będzie wpisana do zmiennej result jako tablica.

 

 

komentarz 20 maja 2018 przez Vorex444 Dyskutant (9,610 p.)
już wiem, po prostu miałem 2x &apiKey w get moj blad

Podobne pytania

0 głosów
1 odpowiedź 303 wizyt
pytanie zadane 18 października 2019 w SQL, bazy danych przez daniel1806 Obywatel (1,780 p.)
0 głosów
1 odpowiedź 221 wizyt
pytanie zadane 2 lutego 2021 w JavaScript przez Aron Nowicjusz (120 p.)
0 głosów
1 odpowiedź 349 wizyt
pytanie zadane 5 stycznia 2021 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)

92,568 zapytań

141,424 odpowiedzi

319,632 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...