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
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) 연산자
operator | description |
---|---|
$eq | (equals) 주어진 값과 일치하는 값 |
$gt | (greater than) 주어진 값보다 큰 값 |
$gte | (greather than or equals) 주어진 값보다 크거나 같은 값 |
$lt | (less than) 주어진 값보다 작은 값 |
$lte | (less than or equals) 주어진 값보다 작거나 같은 값 |
$ne | (not equal) 주어진 값과 일치하지 않는 값 |
$in | 주어진 배열 안에 속하는 값 |
$nin | 주어빈 배열 안에 속하지 않는 값 |
논리 연산자
operator | description |
---|---|
$or | 주어진 조건중 하나라도 true 일 때 true |
$and | 주어진 모든 조건이 true 일 때 true |
$not | 주어진 조건이 false 일 때 true |
$nor | 주어진 모든 조건이 false 일때 true |
https://gmldbd94.tistory.com/24