2011-11-13 10 views
7

Mam pewne problemy w zrozumieniu nosql. Używam mongodb i java i chciałbym stworzyć coś takiego: tabelę (osoby) z kolumną dla nazwy (jako ciąg), wieku (jako liczbę całkowitą), żonaty (boolean). W normalnym sql byłoby to łatwe ... ale jak postępować z mongodb i java?Tabela SQL do nosql (MongoDB) - łatwy przykład

Dobra rzecz, którą znam: tabela w mongodb to zbiór, a kolumna to pole BSON. Zacznę tak, jak pierwsze 3 kroki są łatwe. Mam swoją kolekcję (tabelę), powinienem podać nazwy pól (kolumny) BSON, wiek, związek małżeński. Ale jak? Znam metodę put(), ale co mam umieścić? A jeśli mam konstrukcję, chciałbym dodać kilka "osób".

Wszelkie pomysły? Dziękuję

+0

morfinę lub inne Java POJO do bazy odwzorowującym Mongo danych pomoże też – tgkprog

Odpowiedz

3

Przyjrzeniu dokumentacji tutaj: http://api.mongodb.org/java/2.0/org/bson/BasicBSONObject.html#put(java.lang.String, java.lang.Object)

Wydaje mi się, że put akceptuje klucz i wartość dla jednego ze swoich dziedzinach, na przykład:

doc.put("name", myPersonInstance.getName()); 
doc.put("age", myPersonInstance.getAge()); 

Możesz wstawić dowolną liczbę atrybutów, korzystając z opcji Umieść, jak chcesz. Są też metody, które można dodać z mapy i takie.

Należy pamiętać, że nigdy nie korzystałem z interfejsu API Java MongoDB, więc opieram swoje stwierdzenia wyłącznie na tej dokumentacji i niewielkiej wiedzy na temat MongoDB w ogóle.

Dla przypomnienia, te "umieścić w" byłoby równoznaczne ze struktury JSON jak:

{name: "John", age:35} 

Nadzieję, że to pomaga.

5

Powinieneś spróbować pozbyć się myślenia o kolumnach za pomocą MongoDB. Jest to bezpodstawne, więc każdy dokument może mieć inny zestaw pól, nawet w tym samym zbiorze, więc pola myślowe są kolumnami mogą wprowadzać w błąd.

Polecam przejście przez oficjalny samouczek Java MongoDB HERE.

Powinieneś być w stanie zrobić coś takiego:

doc.put("name", "John"); 
doc.put("age", 30); 
doc.put("married", false);