MongoDB is a database stored in json format and is very suitable for various application development. Let me introduce some mongoDB learning instances to you.
Mongodb needs to install the Mongo extension to integrate PHP. This is relatively simple. Let's talk about the MongoDB PHPAPI and usage.
Let's take a look at a simple example:
Php code
1. <? Php
2. $ m = new Mongo (); // use the default port 27017 to connect to the local machine. Of course, you can also connect to a remote host such as 192.168.0.4: 27017. If the port is 27017, the port can be omitted.
3.
4. $ db = $ m-> comedy; // select the comedy database. If the database is not created before, it can be created automatically. You can also use $ m-> selectDB ("comedy ");
5.
6. $ collection = $ db-> collection; // select the collection set in comedy, which is equivalent to the table in RDBMS. You can also use
7. $ db-> selectCollection ("collection ");
8.
9. $ obj = array ("title" => "Calvin and Hobbes", "author" => "Bill Watterson ");
10.
11. $ collection-> insert ($ obj); // Add $ obj to $ collection
12.
13.
14. $ obj = array ("title" => "XKCD", "online" => true );
15. $ collection-> insert ($ obj );
16. $ cursor = $ collection-> find ();
17.
18. foreach ($ cursor as $ obj) {// traverse all documents in the Set
19. echo $ obj ["title"]. "n ";
20 .}
21.
22.
23. $ m-> close (); // disconnect MongoDB
The following describes some common functions:
Php code
1. $ query = array ("I" => 71 );
2. $ cursor = $ collection-> find ($ query); // search for documents that meet $ query in the $ collectio collection
3.
4. while ($ cursor-> hasNext ()){
5. var_dump ($ cursor-> getNext ());
6 .}
7.
8. $ collection-> findOne (); // return the first document in the $ collection set
9.
10. $ collection-> count (); // returns the number of documents in the $ collection.
11. $ coll-> ensureIndex (array ("I" => 1); // Add an index in descending order for I "This column"
12. $ coll-> ensureIndex (array ("I" =>-1, "j" => 1 )); // Add an index to sort j in ascending order for I "This column"
During query, each Object is automatically inserted with a unique _ id, which is equivalent to the primary key in RDBMS and convenient for query.
For example:
Php code
1. <? Php
2.
3. $ person = array ("name" => "joe ");
4.
5. $ people-> insert ($ person );
6.
7. $ joe = $ people-> findOne (array ("_ id" => $ person ['_ id']);
8.
9.?>
Update:
Assume that we want to modify the author name in comments in the following document.
Php code
1 .{
2. "_ id": ObjectId ("4b06c282edb87a281e09dad9 "),
3. "content": "this is a blog post .",
4. "comments ":
5 .[
6 .{
7. "author": "Mike ",
8. "comment": "I think that blah ...",
9 .},
10 .{
11. "author": "John ",
12. "comment": "I disagree ."
13 .}
14.]
15 .}
To change an internal domain, we use $ set (to ensure that other fields in the document are not removed) and the comment index also changes.
Php code
1. <? Php
2.
3. $ collection-> update ($ criteria, array ('$ set' => array ("comments.1" => array ("author" => "Jim ")))); // $ criteria is the element to be updated
4.
5.?>
Delete A Database
Php code
1. $ m-> dropDB ("comedy ");
List all available databases
Php code
1. $ m-> listDBs (); // No Return Value
Well, I will write so much. If you are interested, you can find other Mongo-php API usage on the Internet!
Command Line instance:
1. db. system. users. find ()
2. db. users. count ()
3. db. users. ensureIndex ({password:-1 })
4. use test
5. db. users. getIndexes ()
6. db. repairDatabase ()
7. show users
8. show dbs
9. db. users. find ({username: {$ 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. show collections
15. db. users. remove ()
16. db. user. remove ({'username': 'admin '})
17. db. user. insert ({'username': 'admin', 'age': 21, 'nickname': 'admin '})
18. db. user. save ({'username': 'admin', 'age': 21, 'info': ['12', '123', 'zzsd']})
19. db. createCollection ("user ")
20. db. dropDatabase ()
21. show collections
22. db. test. drop ()
23. db. copyDatabase ('test', 'test1 ')
24. show profile
25. db. printCollectionStats ()
26. db. addUser ('admin', 'admin123 ')
27. db. setProfilingLevel (2 );
28. db. setProfilingLevel (1, 10 );
29. db. system. profile. find ()