MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Uruchamianie zaawansowanych zapytań MongoDB w języku R za pomocą rmongodb

Albo c() albo list() mogą być w porządku. Zależy od tego, czy komponenty są nazwane i czy wszystkie mają ten sam typ (dla listy). Najlepszą rzeczą do zrobienia jest spojrzenie na wygenerowany BSON i sprawdzenie, czy otrzymujesz to, czego chcesz. Dla najlepszej kontroli generowanego obiektu użyj mongo.bson.buffer i funkcji, które na nim operują. W rzeczywistości właśnie dlatego podzapytania kończą się niepowodzeniem. „komentarze” są tworzone jako podobiekt, a nie tablica. mongo.bson.from.list() jest przydatna, ale nie daje takiej samej kontroli i czasami źle zgaduje, co wygenerować ze skomplikowanych struktur.

Zapytanie dotyczące drugiego zestawu danych można jednak poprawić w następujący sposób:

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "name.first")
mongo.bson.buffer.append(buf, "$in", c("Alex", "Horst"))
mongo.bson.buffer.finish.object(buf)
criteria <- mongo.bson.from.buffer(buf)

Zwróć uwagę, że zdecydowanie musisz użyć tutaj bufora, ponieważ R będzie dławić się kropkowaną nazwą.

Mam nadzieję, że to rozwiąże twój problem. Daj mi znać, jeśli masz dodatkowe pytania.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapobieganie wstrzykiwaniu JavaScript NoSQL w MongoDB

  2. Zapytanie z łańcuchowym formatem daty w mongodb

  3. MongoDB:Jak wykonać zapytanie o rekordy, w których pole ma wartość NULL lub nie jest ustawione?

  4. Nie można uruchomić mongos

  5. Zapytanie o repozytorium z parametrem List w Spring Data MongoDB