Mongo Query (WIP)

나르·2022년 2월 20일
0

NoSQL

목록 보기
2/4
post-thumbnail

Insert

bulk insert

1. with mongo query

> db.inventory.insertMany( [
...    { "title": "와일드 아레나 서바이버즈", "genre": "AOS", "release_info": [
			{"publisher": "유비소프트","release_date": null, "platform": "모바일"}]},
...    { "title": "림: 영혼의 항아리", "genre": "액션","release_info": [
			{ "publisher": "이프문","release_date": null,"platform": "모바일"}]},
...    { "title": "콜 오브 듀티: 모던 워페어2 (리부트)","genre": "FPS","release_info": [
			{ "publisher": "액티비전","release_date": null, "platform": "PC패키지"}]},
... ]);

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("62903c04aa4be879d11f9981"),
		ObjectId("62903c04aa4be879d11f9982"),
		ObjectId("62903c04aa4be879d11f9983")
    ]
}

2. mongoimport

https://www.mongodb.com/docs/database-tools/mongoimport/#cmdoption-mongoimport-jsonarray

2-1. docker container로 사용 중일 경우

> docker cp xxx.json <container>:/tmp/xxx.json
> docker exec <container> mongoimport -d <db> -c <collection> --file /tmp/xxx.json

mongoimport cannot decode array into a D 에러

파일에 json 리스트가 있을 경우 위 에러가 발생할 수 있습니다.
--jsonArray 옵션을 추가하여 해결할 수 있습니다.

mongoimport -d <db> -c <collection> --file xxx.json --jsonArray

Delete

Update

Find

db.collection.find()
db.collection.find({'field':'keyword'})
db.collection.find().pretty()
db.collection.find().count()

regex

db.collection.find({'title':{$regex: /.word./}})

/word/
^word
word$

https://stackoverflow.com/questions/3305561/how-to-query-mongodb-with-like

비교(Comparison) 연산자

operatordescription
$eq(equals) 주어진 값과 일치하는 값
$gt(greater than) 주어진 값보다 큰 값
$gte(greather than or equals) 주어진 값보다 크거나 같은 값
$lt(less than) 주어진 값보다 작은 값
$lte(less than or equals) 주어진 값보다 작거나 같은 값
$ne(not equal) 주어진 값과 일치하지 않는 값
$in주어진 배열 안에 속하는 값
$nin주어빈 배열 안에 속하지 않는 값

논리 연산자

operatordescription
$or주어진 조건중 하나라도 true 일 때 true
$and주어진 모든 조건이 true 일 때 true
$not주어진 조건이 false 일 때 true
$nor주어진 모든 조건이 false 일때 true

https://gmldbd94.tistory.com/24

https://zi-c.tistory.com/entry/JAVA-%EB%AA%BD%EA%B3%A0%EB%94%94%EB%B9%84-%EC%9D%B4%EC%A4%91-%EB%B0%B0%EC%97%B4-%EA%B2%80%EC%83%89%ED%95%98%EA%B8%B0-MongoDB-Nested-Array-Search

https://velog.io/@hanblueblue/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B83-Spring-Data-MongoDB-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

https://www.google.com/search?q=mongodb+get+nested+object&sxsrf=APq-WBv299umAU_7EQogtQ0_3jxCLtpWGA%3A1645353039367&ei=TxgSYqDoFbDl2roPgZqq2Ac&oq=mongodb+get+nested+objec&gs_lcp=Cgdnd3Mtd2l6EAMYADIFCAAQywEyBggAEAgQHjIGCAAQBRAeOgcIIxCwAxAnOgcIABBHELADOgQIABAeSgQIQRgASgQIRhgAULgQWOEfYPMmaAFwAXgAgAFziAGmBZIBAzAuNpgBAKABAcgBCsABAQ&sclient=gws-wiz

TODO

  • CRUD + bulk insert
  • embeded(nested)
  • 연산자
  • 커서
profile
💻 + ☕ = </>

0개의 댓글