Например, у меня есть эти два файла JSON, которые я вставил в mongo DB java driver 3.0.4. Я пытаюсь получить детали, основанные на поле Id. Но все мои усилия напрасны. Может кто-нибудь сказать, где я испортил. Спасибо в AdvanceНайти значение JSON в mongodb java driver 3.0.x
Document {
_id = 5721dd81ef31f82754eac196,
Details = {
"author_FirstName" : "Nishant",
"author_LastName" : "Jayanth",
"book_title" : "skjfsasfhkj",
"Id" : 78,
"publisher" : "tata",
"year" : 1231,
"ISBN" : 291939
}
}
Document {
_id = 5721dd81ef31f82754eac196,
Details = {
"author_FirstName" : "Nishant",
"author_LastName" : "Jayanth",
"book_title" : "skjfsasfhkj",
"Id" : 777,
"publisher" : "tata",
"year" : 1231,
"ISBN" : 291939
}
}
Это мой код, где я пытаюсь восстановить на основе Id.
public String getAuthor(String id){
String pId=String.valueOf(id);
final String[] author = {null};
FindIterable<Document> iterable=store.find(new Document("Id", 777)); //Probably this is where something is wrong
iterable.forEach(new Block<Document>() {
@Override
public void apply(final Document document) {
author[0]=document.toString();
System.out.println(document);
}
});
return author[0];
}
Я испробовал все возможные комбинации, насколько мне известно.
new Document("Document.Details.Id":id);
new Document("Details.Id":id);
new Document("Document.Id":id);
Но ничего не работало.
Попробуйте следующее: Документ ["Details"] ["Id"] –
Ваши документы JSON странные. Обычно для Mongo вы должны удалить внешний «Документ» и сделать его коллекцией с тем же именем. Вставьте документы, содержащие '_id' и' Details'. – Robert