MongoDB에서 일반적으로 사용되는 명령문 요약

不言
풀어 주다: 2018-10-17 14:49:39
앞으로
2149명이 탐색했습니다.

이 기사는 MongoDB에서 일반적으로 사용되는 명령문을 요약한 것입니다. 이는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Mongodb 문이 이해하기 쉽지 않다고 생각되면 SQL 문과 비교하면 훨씬 배우기 쉽습니다.

1. 쿼리(찾기)

모든 결과 쿼리

select * from article
db.article.find()
로그인 후 복사

반환할 키 지정

select title, author from article
db.article.find({}, {"title": 1, "author": 1})
로그인 후 복사

어디에서 조건

select * from article where title = "mongodb"
db.article.find({"title": "mongodb"})
로그인 후 복사

및 조건

select * from article where title = "mongodb" and author = "god"
db.article.find({"title": "mongodb", "author": "god"})
로그인 후 복사

또는 조건

select * from article where title = "mongodb" or author = "god"
db.article.find({"$or": [{"title": "mongodb"}, {"author": "god"}]})
로그인 후 복사

조건 비교

select * from article where read >= 100;
db.article.find({"read": {"$gt": 100}})
로그인 후 복사
> $gt(>)、$gte(>=)、$lt(<)、$lte(<=)
로그인 후 복사
 select * from article where read >= 100 and read <= 200
 db.article.find({"read": {"$gte": 100, "lte": 200}})
로그인 후 복사

조건이

select * from article where author in ("a", "b", "c")
db.article.find({"author": {"$in": ["a", "b", "c"]}})
로그인 후 복사

like

select * from article where title like "%mongodb%"
db.article.find({"title": /mongodb/})
로그인 후 복사

count

select count(*) from article
db.article.count()
로그인 후 복사

notequal to

select * from article where author != "a"
db.article.find({ "author": { "$ne": "a" }})
로그인 후 복사

Sort

Ascending:

select * from article where type = "mongodb" order by read desc
db.article.find({"type": "mongodb"}).sort({"read": -1})
로그인 후 복사

Descending:

select * from article where type = "mongodb" order by read asc
db.article.find({"type": "mongodb"}).sort({"read": 1})
로그인 후 복사
findOne(): 쿼리 결과가 하나만 반환된다는 점을 제외하면 사용 방법은 find()와 동일합니다.

2. 생성(삽입)

insert into article(title, author, content) values("mongodb", "tg", "haha")
db.article.insert({"title": "mongodb", "author": "tg", "content": "haha"})
로그인 후 복사

3. 업데이트(업데이트)

update()

구문:

db.collecion.update(query, update[, options] )

   query : 必选,查询条件,类似find中的查询条件。
   update : 必选,update的对象和一些更新的操作符(如$,$inc...)等
   options:可选,一些更新配置的对象。
   upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
   multi:可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
   writeConcern:可选,抛出异常的级别。
로그인 후 복사

간단한 업데이트 :

update article set title = "mongodb" where read > 100
db.article.update({"read": {"$gt": 100}}, {"$set": { "title": "mongodb"}})
로그인 후 복사

save()

db.article.save({_id: 123, title: "mongodb"})
로그인 후 복사

위 명령문을 실행합니다. 컬렉션에 _id 123인 문서가 이미 있으면 해당 필드를 업데이트하고, 그렇지 않으면 삽입합니다.

참고: 업데이트된 개체의 _id가 존재하지 않으면 시스템에서 자동으로 생성하여 새 문서로 삽입합니다.

업데이트 연산자

MongoDB는 강력한 업데이트 연산자를 제공합니다.

특정 필드 업데이트($set):

update game set count = 10000 where _id = 123
db.game.update({"_id": 123}, { "$set": {"count": 10000}})
로그인 후 복사

특정 필드 삭제($unset):

참고: $unset으로 지정된 필드 값은 유효한 값이면 됩니다.
증가 또는 감소($inc)

 db.game.update({"_id": 123}, { "$inc": {"count": 10}}) // 每次count都加10
로그인 후 복사

> 참고: $inc에 해당하는 필드는 숫자여야 하며, 증가 또는 감소하는 값도 숫자여야 합니다.

배열 추가($push):

 db.game.update({"_id": 123}, { "$push": {"score": 123}})
로그인 후 복사

한 번에 여러 요소를 추가할 수도 있습니다.

 db.game.update({"_id": 123}, {"$push": {"score": [12,123]}})
로그인 후 복사

참고: 추가된 필드는 배열이어야 합니다. 배열 필드가 없으면 자동으로 추가된 후 추가됩니다.

한 번에 여러 요소 추가($pushAll):

 db.game.update({"_id": 123}, {"$pushAll": {"score": [12,123]}})
로그인 후 복사

고유 요소 추가($addToSet):

$addToSet은 Set과 유사하지만 값이 요소 내에 없는 경우에만 추가됩니다.

 db.game.update({"_id": 123}, {"$addToSet": {"score": 123}})
로그인 후 복사

요소 삭제($pop):

db.game.update({"_id": 123}, {"$pop": {"score": 1}})  // 删除最后一个元素
db.game.update({"_id": 123}, {"$pop": {"score": -1}})  // 删除第一个元素
로그인 후 복사

참고: $pop은 배열에서 한 번에 하나의 요소만 삭제할 수 있습니다. 1은 마지막 요소 삭제를 의미하고, -1은 첫 번째 요소 삭제를 의미합니다.

특정 요소 삭제($pull):

db.game.update({"_id": 123}, {"$pull": {"score": 123}})
로그인 후 복사

위 명령문은 배열 점수의 값이 123인 요소를 삭제한다는 의미입니다.

여러 특정 요소 삭제($pullAll):

db.game.update({"_id": 123}, {"$pullAll": {score: [123,12]}})
로그인 후 복사

위 명령문은 배열에서 값이 123 또는 12인 요소를 삭제한다는 의미입니다.
중첩된 배열의 값 업데이트:
배열 첨자 사용(0부터 시작):

{
    address: [{place: "nanji", tel: 123}, {place: "dongbei", tel: 321}]
}
로그인 후 복사
 db.game.update({"_id": 123}, {"$set": {"address.0.tel": 213}})
로그인 후 복사

업데이트하려는 배열 항목을 모르는 경우 $ 연산자를 사용할 수 있습니다($는 자체를 나타냄). 즉, 쿼리 조건에 따라 찾는 배열 자체의 항목이며, 발견된 첫 번째 배열 항목만 적용됩니다.)

 db.game.update({"address.place": "nanji"}, {"$set": {"address.$.tel": 123}})
로그인 후 복사

위 구문에서 $는 쿼리 조건 {"address의 쿼리 결과입니다. .place": "nanji"}, 즉 {place: "nanji", tel: 123}이므로 {"address.$.tel": 123}도 {"address.{place: "nanji", tel: 123}.tel": 123}

4. 삭제(제거)

모든 문서 삭제:

delete from article
db.article.remove()
로그인 후 복사

지정 문서 삭제:

 delete from article where title = "mongodb"
 db.article.remove({title: "mongodb"})
로그인 후 복사

위 내용은 MongoDB에서 일반적으로 사용되는 명령문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!