2014-12-02 1 views
0

Мои данные json выглядят как ниже.Как получить всех детей из родительского пути в mongodb с помощью java

{ 
    "_id" : "Assets", 
    "Act_Type" : true, 
    "Path" : null 
} 


{ 
    "_id" : "Bank", 
    "Act_Type" : true, 
    "Path" : ",Assets," 
} 


{ 
    "_id" : "Cash", 
    "Act_Type" : true, 
    "Path" : ",Assets," 
} 


{ 
    "_id" : "NRI", 
    "Act_Type" : true, 
    "Path" : ",Assets,Bank," 
} 


{ 
    "_id" : "Local", 
    "Act_Type" : true, 
    "Path" : ",Assets,Bank," 
} 


{ 
    "_id" : "SBI", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,Local," 
} 


{ 
    "_id" : "Canara", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,Local," 
} 


{ 
    "_id" : "ICICI", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,NRI," 
} 


{ 
    "_id" : "HDFC", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,NRI," 
} 

Я использую Structures Model Tree с материализованными Путей при попытке извлечения данных из родительского пути не получать все значения Ex: мой путь «активы», я получаю только

{ 
    "_id" : "Bank", 
    "Act_Type" : true, 
    "Path" : ",Assets," 
} 

, но мне нужно

{ 
    "_id" : "Bank", 
    "Act_Type" : true, 
    "Path" : ",Assets," 
} 


{ 
    "_id" : "Cash", 
    "Act_Type" : true, 
    "Path" : ",Assets," 
} 


{ 
    "_id" : "NRI", 
    "Act_Type" : true, 
    "Path" : ",Assets,Bank," 
} 


{ 
    "_id" : "Local", 
    "Act_Type" : true, 
    "Path" : ",Assets,Bank," 
} 


{ 
    "_id" : "SBI", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,Local," 
} 


{ 
    "_id" : "Canara", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,Local," 
} 


{ 
    "_id" : "ICICI", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,NRI," 
} 


{ 
    "_id" : "HDFC", 
    "Act_Type" : false, 
    "Path" : ",Assets,Bank,NRI," 
} 

плз помочь мне, как запрос с использованием Java ....

+0

показать код, как вам извлечение коллекции – outdev

+0

BasicDBObject findQuery = new BasicDBObject(); findQuery.put ("_ id", _id); findQuery.put («Путь», путь); DBCursor get_document = example.find (findQuery); System.out.println ("DOC" + get_document); while (get_document.hasNext()) { DBObject doc = get_document.next(); System.out.println (док); } –

+0

Не пытайтесь установить _id – outdev

ответ

0

Попробуйте

DB db = mongoClient.getDB("mydb"); 
DBCollection collection = db.getCollection("testCollection"); 
DBObject query = new BasicDBObject("Path", new BasicDBObject("$exists", true)); 
DBCursor cursor = collection.find(query); 
try { 
while(cursor.hasNext()) { 
    System.out.println(cursor.next()); 
} 
} finally { 
cursor.close(); 
} 
+0

выше код не работает ..... можете ли вы сказать мне, где вы ищете ... –

+0

та же проблема не работает –

+0

Не компилируется или как его не работает – outdev

0

Кажется, вам нужно будет использовать regex для этого, потому что у вас есть для Path является String и не Array

Попробуйте это:

DBObject query = new BasicDBObject("Path", new BasicDBObject("$regex", "*Asset*")); 
+0

Я пробовал код выше, не работал. –

Смежные вопросы