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

Sposób na głębokie przemierzanie obiektu Groovy z kropką w łańcuchu za pomocą GPath

Na podstawie błędu/wątku wydaje się, że istnieją pewne niejednoznaczne problemy z obsługą akcesora właściwości z kropkami. Na podstawie wątku listy mailingowej wydaje się, że najlepszym rozwiązaniem będzie ocena ciągu queryField:

def result = [a: [b: [c: 42]]]
def queryString = 'a.b.c'

def evalResult = Eval.x(result, 'x.' + queryString)
assert evalResult == 42

Skrypt w konsoli internetowej Groovy

Wątek listy dyskusyjnej jest trochę stary, więc istnieje nowa klasa Eval (od co najmniej 1.7.2), która może pomóc w uruchamianiu małych fragmentów, które nie mają dużego powiązania.

W przeciwnym razie możesz podzielić ciąg i rekurencyjnie wykonywać oceny właściwości obiektu, skutecznie odtwarzając podzbiór zachowania przechodzenia GPath.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB :czy istnieje sposób na wykrycie trendu wartości za pomocą agregacji?

  2. Funkcja wywołania zwrotnego nigdy nie jest wywoływana po wykonaniu zapytania Mongoose

  3. Najlepsze oprogramowanie pośredniczące do przechowywania sesji dla Express + MongoDB

  4. Zapytanie Mongo DB w java

  5. Jak dokładnie dopasować cały dokument?