Ich bin neu in MongoDB und NoSQL-Datenbanken und habe einige Probleme mit MongoDB-Treiber zu arbeiten. Ich verstehe nicht richtig, wie man ein Sub-Array/eine Liste aus dem Dokument bekommt und Daten darin wieder einfügt. Dies ist mein JSON/BSON-Objekt, das ich einfach in MongoDB speichern kann.Einfügen von Daten in mongoDB mit Java
{
"_id": {
"$oid": "5757df25612c2445af329111"
},
"shop": {
"category": [
{
"MobilePhones": [
]
},
{
"TV-sets": [
]
},
{
"Motherboards": [
]
}
]
}
}
Jetzt brauche ich ein Array von Kategorien von meinem Geschäft zu erhalten, erhalte Objekt wie Mobiltelefone/TV-Sets/Motherboards Kategorie aus diesem Array/Liste, wie ich in meiner Java-POJO Klasse schreiben.
public class Category extends BasicDBObject implements Serializable {
private List<Goods> goodsList;
private BasicDBObject basicDBObject;
public BasicDBObject getBasicDBObject() {
return basicDBObject;
}
public void setBasicDBObject(BasicDBObject basicDBObject) {
this.basicDBObject = basicDBObject;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Goods> getGoodsList() {
return goodsList;
}
public void setGoodsList(List<Goods> goodsList) {
this.goodsList = goodsList;
}
public Category(String name){
this.name = name;
}
public Category(){}
}
Und legen Sie Waren in diese Kategorie, wie ich in
public class Goods extends BasicDBObject implements Serializable {
private String title;
private int price;
private String status;
private BasicDBObject basicDBObject;
public BasicDBObject getBasicDBObject() {
return basicDBObject;
}
public void setBasicDBObject(BasicDBObject basicDBObject) {
this.basicDBObject = basicDBObject;
}
public Goods(String title, int price, String status) {
this.title = title;
this.price = price;
this.status = status;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
Auf diese Weise i/Sammlung erstellen bei Datenbank erhalten schreiben
DBCollection collection = db.getCollection("shop");
BasicDBObject dbObject = new BasicDBObject();
dbObject.put("shop", shop.createCategoriesWithGoods());
collection.insert(dbObject);
Aber auf diese Weise hilft mir nicht zu Get Kategorie als
DBCollection collection = db.getCollection("MobilePhones");