프로그램/nosql

mongodb Select 및 Array Print - study 002

mulderu 2014. 3. 18. 12:04

mongodb 두번째... 테스트 입니다.

주로 문서의 생성과 select 부분입니다...  

mysql로 치자면  offset, limit  부분이  skip, limit  로 사용됩니다.

> db.mydb.insert({name:'mulder', age:10});

> show dbs;          // show dbs명령으로 현재 db의스키마 를 볼수 있습니다.

local (empty)

mydb 0.203125GB

test 0.203125GB

> show collections;

mydb

system.indexes

> db.mydb.find();

{ "_id" : ObjectId("5327b40e45fb223e46f90dbf"), "name" : "mulder", "age" : 10 }

> db.mydb.insert({name:'scully', age:12});   // 입력

> db.mydb.insert({name:'tester', age:15});

> db.mydb.insert({name:'admin', age:16});

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

> print(c[2]);   // access cursor index .

[object bson_object]

> printjson(c[2]);    // printjson 문이 디버깅에 유용하다.   

{

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

"name" : "tester",

"age" : 15

}

> printjson(c[1]);

{

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

"name" : "scully",

"age" : 12

}

> db.mydb.findOne();     // 하나만.. 리턴   

{

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

"name" : "mulder",

"age" : 10

}

> db.mydb.find().limit(2);     // 2개 가져오기   

{ "_id" : ObjectId("5327b40e45fb223e46f90dbf"), "name" : "mulder", "age" : 10 }

{ "_id" : ObjectId("5327b46d45fb223e46f90dc0"), "name" : "scully", "age" : 12 }

> db.mydb.find().skip(1).limit(2);   // 1개 이후 2개 가져오기   

{ "_id" : ObjectId("5327b46d45fb223e46f90dc0"), "name" : "scully", "age" : 12 }

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

> db.mydb.find();

{ "_id" : ObjectId("5327b40e45fb223e46f90dbf"), "name" : "mulder", "age" : 10 }

{ "_id" : ObjectId("5327b46d45fb223e46f90dc0"), "name" : "scully", "age" : 12 }

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

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

>