프로그램/nosql

mongodb select and cursor --- study 003

mulderu 2014. 3. 18. 12:20


select query criteria, column projection, $gt 


> db.mydb.find({age:{$gt:12}},{'name':1}).sort({age:2}).limit(1);  // 검색조건에 age 의 값이 12보다 큰값 

{ "_id" : ObjectId("5327b47c45fb223e46f90dc1"), "name" : "tester" }

> db.mydb.find({age:{$gt:12}},{'name':1});

{ "_id" : ObjectId("5327b47c45fb223e46f90dc1"), "name" : "tester" }

{ "_id" : ObjectId("5327b48945fb223e46f90dc2"), "name" : "admin" }

> db.mydb.find({age:{$gt:12}},{'_id':0, 'name':1});    // 리턴컬럼에서 _id를 제거 한다. 

{ "name" : "tester" }

{ "name" : "admin" }

> 

> var myCursor = db.mydb.find();    // cursor  

> var myFirstDocument = myCursor.hasNext() ? myCursor.next() : null;    // 커서의값이 있다면 첫번째 문서를 가져온다...., 커서가 비어 있다면 'null'을 리턴함. 

> printjson(myFirstDocument);

{

"_id" : ObjectId("5327b40e45fb223e46f90dbf"),

"name" : "mulder",

"age" : 10

}

> var item = myCursor.next();   // 다음... 문서를 가져옴.  

> printjson(item);

{

"_id" : ObjectId("5327b46d45fb223e46f90dc0"),

"name" : "scully",

"age" : 12

}

> printjson(myCursor.next());

{

"_id" : ObjectId("5327b47c45fb223e46f90dc1"),

"name" : "tester",

"age" : 15

}