자바에서 Mongodb를 사용하고 있습니다. 그리고 문서 안에있는 문서를 검색하고 싶습니다.몽고 문서 검색
DB db = null;
int count = 0;
//Enter the day for which you want to search for logged on users
String dayToSearch = "27-06-2012"; //Enter in the format dd-MM-yyyy
db = DatabaseConnection.getDatabaseObject();
Set<String> colls = db.getCollectionNames();
for (String s : colls) {
DBCollection coll = db.getCollection(s);
DBObject obj = coll.findOne();
if(obj==null)
System.out.println("This is only null.");
DBObject obj1 = (DBObject)obj.get("LoginRequest");
if(obj1!=null){
String time = (String)obj1.get("Time");
if(time==dayToSearch){
BasicDBObject query = new BasicDBObject();
query.put("LoginResponse", new BasicDBObject());
DBCursor cur1 = coll.find(query);
if(cur1.hasNext()){
count++;
}
}
}
else
System.out.println("It is null again!!!");
System.out.println(s);
}
System.out.println("No.of users logged in successfully: " + count);
하지만 난 DBOBJECT으로 obj1 = (DBOBJECT) obj.get ("LoginRequest")에서 null 값을 얻고있다 ;.
나는이 코드를 사용하고 각 컬렉션에 대한 모든 obj1 객체가 null로 나오고 있습니다. 나는 obj를 인쇄했고 올바른 것으로 나오고있다. obj1이 null로 나오고 있습니다.
내 데이터베이스는이 양식입니다 :
{
"_id" : ObjectId("4fead665b79eedd6a5776f38"),
"test" : "hi",
"NBC Connection id" : "6f829b01382d556eaf16c34617C2",
"LoginRequest" : {
"Time" : "27-06-2012",
"Model" : null,
"Version" : null,
"Username" : "acpptu20000",
"Password" : "*******",
"Language" : "en",
"Manufacturer" : null
}
}
{
"_id" : ObjectId("4fead67cb79eedd6a5776f5b"),
"GetInfoRequest" : {
"MaxCallLogs" : 45,
"MaxNewVoicemails" : 15,
"GetInfoDateOptions" : 7,
"MaxSavedVoicemails" : 15,
"SubscribeForUpdates" : false
}
}
날짜 쿼리가있는 "LoginRequest"개체 만 가져 오시겠습니까? –
내 LoginRequest는 다른 DBObject를 참조하십시오. 그래서 DBObject 변수에 저장하고 싶습니다. 그러나 그것을 캐스팅하여 저장할 때. 나는 그것을 null로 얻는다. 하지만 obj.get ("LoginRequest")을 할 때. 나는 제대로 인쇄 할 수 있습니다. – shalki
이 대화방에 들어올 수 있습니까? http://chat.stackoverflow.com/rooms/12986/discussion-between-shalki-and-parvin – shalki