0
내 샘플 문서 내가 사용자가 입력 한 사용자 배열 _ 이름 및 암호와 일치하는 것을 시도하고있다몽고 자바 몽고 배열에 Maching 기록을 찾는
{
"_id" : ObjectId("51f89c1484ae3aa758ad56e9"),
"group_name" : "Operator",
"privileges" : [
"Add Group",
"Edit/Delete Group",
"Add User",
"Edit/Delete User",
"Log History",
"Add Stopwords Group",
"Edit/Delete Stopwords Group",
"Add Stopwords",
"Edit/Delete Stopwords",
"Recomended Stopwords"
],
"users" : [
{
"full_name" : "operator1",
"user_name" : "operator",
"password" : "pass$123",
"status" : "Active"
},
{
"full_name" : "Sumit Dshpande",
"user_name" : "dsumit",
"password" : "pass$123",
"status" : "Active"
}
]
}
입니다.
내 자바 코드는 다음과 같습니다
BasicDBObject query = new BasicDBObject();
List<BasicDBObject> parts = new ArrayList<BasicDBObject>();
parts.add(new BasicDBObject("users.user_name", uname));
parts.add(new BasicDBObject("users.password", password));
query.put("$and", parts);
DBCursor cursor = collection.find(query);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
을하지만 그룹의 권한을 변경할 수 있도록 그룹에서 모든 array.I 일치의 사용자 원하는 사용자를 반환합니다. nosql에서 스키마를 설계하는 올바른 방법입니다.
당신이 예상되는 출력의 예를 들어 줄 수 있을까? –
그룹 권한을 변경하면 전체 그룹에 대한 권한이 변경됩니다. 이 경우 왜 사용자 이름과 비밀번호로 특정 사용자를 원하십니까? 콜렉션을 구성한 방법에 문제가있는 것처럼 보입니다. 필요한 것에 대해 더 많은 정보를 추가하십시오. – Jayz