[Java] MongoDB ์—ฐ๋™ํ•˜๊ธฐ

๋จผ์ € MongoDB๊ฐ€ ๊น”๋ ค์žˆ์–ด์•ผ ํ•œ๋‹ค.
์—†์œผ๋ฉด ๊น”์ž.
https://blog.naver.com/sssang97/221746833909

์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋Œ€์ถฉ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
driver์™€ driver-core, ๊ทธ๋ฆฌ๊ณ  json ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ bson์ด๋‹ค.

driver๋ถ€ํ„ฐ ๊น”์•„๋ณด์ž
https://repo1.maven.org/maven2/org/mongodb/mongodb-driver/3.12.0/
๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ€์„œ


jar์„ ์ž˜ ๋ฐ›์•„์„œ ์›ํ•˜๋Š” ์œ„์น˜์— ๋‘”๋‹ค.

driver-core๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊น”์•„์ค€๋‹ค.
https://repo1.maven.org/maven2/org/mongodb/mongodb-driver-core/3.12.0/
์ด๊ฑด bson
https://repo1.maven.org/maven2/org/mongodb/mongodb-driver-core/3.12.0/

๊ทธ๋ฆฌ๊ณ  ์ €๊ฒƒ๋“ค์„ ํ”„๋กœ์ ํŠธ์— ์ž˜ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
๋‚œ IntelliJ๋ฅผ ์“ด๋‹ค.
Project Sturcture -> Libraray ์—์„œ + ๋ˆ„๋ฅด๊ณ  Java ๋“ค์–ด๊ฐ€์„œ ๋ฐฉ๊ธˆ ๋ฐ›์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ผ์›Œ์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ๋˜๋„๋ก

๊ทธ๋ฆฌ๊ณ  ๋ชฝ๊ณ ์— DB์™€ ๋‚ด์šฉ๋ฌผ์„ ๋Œ€๊ฐ• ์„ธํŒ…ํ•ด๋’€๋‹ค.

์ด๊ฑธ ์ž๋ฐ”๋กœ ์ฝ์–ด๋ณด๋„๋ก ํ•˜์ž.



์กฐํšŒ

๋‹จ์ˆœํžˆ ์กฐํšŒํ•˜๋Š” ๊ฑด ์ด๋Ÿฐ์‹์œผ๋กœ ์งค ์ˆ˜ ์žˆ๋‹ค.

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

public class Main
{
    public static void main(String[] args)
    {
        MongoClient mongoClient = new MongoClient();

        //๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ
        MongoDatabase db = mongoClient.getDatabase("testDB");

        //์ปฌ๋ ‰์…˜ ์ ‘๊ทผ
        MongoCollection<Document> Points = db.getCollection("Points");

        //find ์กฐํšŒ ํ›„ ๊ฒฐ๊ณผ๊ฐ’ ๋ฐ˜๋ณต์ž ํš๋“
        MongoCursor<Document> cursor = Points.find().iterator();

        while(cursor.hasNext())
        {
            String e = cursor.next().toJson();
            System.out.println(e);
        }
    }
}

๊ทธ๋Ÿผ ์ž˜ ์ฝ์–ด์˜จ๋‹ค.

๊ฐœ๋ณ„์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋ ค๋ฉด ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋œ๋‹ค.



์‚ฝ์ž…

์‚ฝ์ž… ๋“ฑ์˜ ํ–‰์œ„๋Š” Document๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•ด์„œ, insertOne ๋ฉ”์„œ๋“œ๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ 0,0 ์งœ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ๋„ฃ์–ด์ฃผ๋„๋ก ํ–ˆ๋‹ค.


๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์ž˜ ๋“ค์–ด๊ฐ„๋‹ค.

ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋„ฃ๊ณ ์‹ถ๋‹ค๋ฉด, ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ฌถ์–ด์„œ ์ „๋‹ฌํ•˜๋Š” insertMany๋ผ๋Š” ๋…€์„์ด ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฌถ์–ด์„œ ์ „๋‹ฌํ•˜๋ฉด


์•Œ์ฐจ๊ฒŒ ๋‹ค ๋“ค์–ด๊ฐ„๋‹ค.



์‚ญ์ œ

์‚ญ์ œ๋ฅผ ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด, delete ๋ฉ”์„œ๋“œ์— Bson์œผ๋กœ json์„ ์ƒ์„ฑํ•ด์„œ ๋„ฃ์–ด์ค€๋‹ค.

x๊ฐ€ 0์ธ ๋†ˆ๋งŒ ์ฃฝ์ด๋„๋ก ํ–ˆ๋‹ค.


์ž˜ ์ฃฝ๋Š”๋‹ค.


์ฐธ์กฐ
https://twinw.tistory.com/207