>  기사  >  백엔드 개발  >  PHP 작업 mongoDB 인스턴스 분석_php 기술

PHP 작업 mongoDB 인스턴스 분석_php 기술

WBOY
WBOY원래의
2016-05-16 20:26:53716검색

이 기사의 예에서는 PHP에서 mongoDB를 작동하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

mongoDB 데이터베이스는 json 형식으로 저장되는 데이터베이스로 다양한 애플리케이션 개발에 매우 ​​적합합니다. 여기에서는 친구들에게 mongoDB 학습 예제를 소개하겠습니다.

mongodb가 PHP를 통합하려면 Mongo 확장을 설치해야 합니다. 이제 MongoDB PHPAPI와 그 사용법에 대해 이야기하겠습니다.

먼저 간단한 예시를 살펴보겠습니다. 예시 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
$m = new Mongo(); //기본 포트 27017은 로컬 머신에 연결하는 데 사용됩니다. 물론 192.168.0.4:27017과 같은 원격 호스트에도 연결할 수 있습니다. 생략가능
$db = $m -> 코미디; // 코미디 데이터베이스를 선택하세요. 이전에 데이터베이스가 생성되지 않은 경우 $m->selectDB("comedy");
를 사용할 수도 있습니다. $collection = $db->collection; //RDBMS의 테이블과 동일한 코미디 컬렉션을 선택합니다.
$db->selectCollection("컬렉션");
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj); //$collection 컬렉션에 $obj 추가
$obj = array( "title" => "XKCD", "online" => true );
$collection->삽입($obj);
$cursor = $collection->find();
foreach ($cursor as $obj) { //컬렉션의 모든 문서 탐색
echo $obj["제목"] . "n";
}
$m->close(); //MongoDB 연결 끊기

다음은 일반적으로 사용되는 몇 가지 기능입니다. Php 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
$query = array( "i" => 71 );
$cursor = $collection->find( $query );// $collectio 컬렉션에서 $query를 만족하는 문서 찾기
while( $cursor->hasNext() ) {
var_dump( $cursor->getNext() );
}

$collection -> findOne();//$collection 컬렉션의 첫 번째 문서를 반환합니다
$collection -> count(); //$collection 컬렉션에 있는 문서 수를 반환합니다.
$coll->ensureIndex( array( "i" => 1 ) ) // i "이 열"에 내림차순으로 인덱스를 추가합니다
$coll->ensureIndex( array( "i" => -1, "j" => 1 ) ) // i "이 열"에 인덱스를 내림차순으로 추가합니다. j 오름차순

쿼리할 때 각 개체는 삽입될 때 RDBMS의 기본 키에 해당하는 고유한 _id를 자동으로 생성합니다. Php 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
$person = array("이름" => "조")
$사람->삽입($사람)
$joe = $people->findOne(array("_id" => $person['_id']))
?>
업데이트 시: 아래 문서 댓글의 작성자 이름을 수정하고자 할 경우 Php 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
{
"_id" : ObjectId("4b06c282edb87a281e09dad9"),
"content": "블로그 게시물입니다.",
"댓글":
[
             {
"작가": "마이크",
"comment": "그건 어쩌고저쩌고...",
         },
             {
"작가": "존",
"comment" : "동의하지 않습니다."
         }
]
}

내부 필드를 변경하려면 문서의 다른 필드가 제거되지 않도록 $set를 사용하며, 주석 인덱스도 변경됩니다.
코드 복사 코드는 다음과 같습니다.
$collection->update($criteria, array('$set' => array("comments.1" => array("author" => "Jim")))); 업데이트할 요소
?>

데이터베이스를 삭제하려면 Php 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
$m -> dropDB("comedy");

사용 가능한 모든 데이터베이스를 나열합니다. Php 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
$m->listDBs() //반환값 없음

지금은 여기까지입니다. 관심이 있으시면 인터넷에서 Mongo-php API의 다른 사용법을 검색해 보세요.

명령줄 사용 예:

1.db.system.users.find()

2. db.users.count()

3. db.users.ensureIndex({비밀번호:-1})

4. 테스트 사용

5. db.users.getIndexes()

6. db.repairDatabase()

7. 사용자에게 보여주기

8. DB 표시

9. db.users.find({사용자 이름:{$in:['4d81a82398790']}}).explain()

10. db.users.dropIndexes()

11. db.users.find().count()

12. db.users.find().limit(5)

13. db.users.find({"username":"ssa"})

14. 쇼 컬렉션

15. db.users.remove()

16. db.user.remove({'사용자 이름':'admin'})

17. db.user.insert({'username':'admin','age':21,'nickname':'admin'})

18. db.user.save({'username':'admin','age':21,'info':['12','12313','zzsd']})

19. db.createCollection("사용자")

20. db.dropDatabase()

21. 쇼 컬렉션

22. db.test.drop()

23. db.copyDatabase('test','test1')

24. 프로필 보기

25. db.printCollectionStats()

26. db.addUser('admin','admin123')

27. db.setProfilingLevel(2);

28. db.setProfilingLevel( 1 , 10 );

29. db.system.profile.find()

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.