In front of the MongoDB installation, configuration, clustering, and PHP insert and update, please refer to: MongoDB.
Here's a look at the common operations of MongoDB Select
Test data:
Copy the Code code as follows:
{"_id": 1, "title": "Red Mansions", "Auther": "Cao Xueqin", "Typecolumn": "Test", "Money": "Code": 10}
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
1. Take the number of table strips
Copy the Code code as follows:
> Db.books.count ();
4
> Db.books.find (). Count ();
4
> Db.books.count ({auther: "Li Bai"});
2
> Db.books.find ({money:{$gt: ($lte:)}). Count ();
1
> Db.books.count ({money:{$gt: max, $lte: 60}});
1
The PHP code is as follows, in order:
Copy the Code code as follows:
$collection->count (); Results: 4
$collection->find ()->count (); Results: 4
$collection->count (Array ("Auther" and "Li Bai")); Results: 2
$collection->find (Array ("Money" =>array (' $gt ' =>40, ' $lte ' =>60))->count (); Results: 1
$collection->count (Array ("Money" =>array (' $gt ' =>40, ' $lte ' =>60)); Results: 1
Tip: $GT is greater than, $GTE is greater than or equal, $lt is less than, $lte is less than or equal, $ne is not equal, $exists does not exist, $in specified range, $nin specified not in a range
2. Take a single piece of data
Copy the Code code as follows:
> Db.books.findOne ();
{
"_id": 1,
"title": "Red Mansions",
"Auther": "Cao Xueqin",
"Typecolumn": "Test",
"Money": 80,
"Code": 10
}
> Db.books.findOne ({auther: "Li Bai"});
{
"_id": 3,
"title": "Towards the hair Baidicheng",
"Auther": "Li Bai",
"Typecolumn": "Test",
"Money": 30,
"Code": 30
}
The PHP code is as follows, in order corresponding to the
Copy the Code code as follows:
$collection->findone ();
$collection->findone (Array ("Auther" and "Li Bai"));
3. Find Snapshot Cursors
Copy the Code code as follows:
> Db.books.find ({$query: {auther: "Li Bai"}, $snapshot: true});
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
The PHP code is as follows:
Copy the Code code as follows:
/**
Note
* After we have done the find () operation, the cursor is still dynamic after the $result cursor has been obtained.
* In other words, after I find (), to my cursor loop to complete this time, if there are more qualifying records are inserted into the collection, then these records will be $result obtained.
*/
$result = $collection->find (Array ("Auther" and "Li Bai")->snapshot ();
foreach ($result as $id = = $value) {
Var_dump ($value);
}
4. Custom Column Display
Copy the Code code as follows:
> db.books.find ({},{"money": 0, "Auther": 0}); Money and auther do not show
{"_id": 1, "title": "Red Mansions", "Typecolumn": "Test", "Code": 10}
{"_id": 2, "title": "Fortress Besieged", "Typecolumn": "Test", "Code": 20}
{"_id": 3, "title": "Baidicheng", "Typecolumn": "Test", "code": 30}
{"_id": 4, "title": "Near Wine", "Code": 40}
> db.books.find ({},{"title": 1}); Show only title columns
{"_id": 1, "title": "Red Mansions"}
{"_id": 2, "title": "Siege"}
{"_id": 3, "title": "Baidicheng"}
{"_id": 4, "title": "Near Wine"}
/**
*money between 60 and 100, Typecolumn and money two columns must exist
*/
> Db.books.find ({money:{$gt: $, $lte: 100}},{"Typecolumn": 1, "Money": 1});
{"_id": 1, "Typecolumn": "Test", "Money": 80}
{"_id": 4, "Money": 90}
The PHP code is as follows, in order:
Copy the Code code as follows:
$result = $collection->find ()->fields (Array ("Auther" =>false, "Money" =>false)); Auther and Money columns are not displayed
$result = $collection->find ()->fields (Array ("title" =>true); Show only title columns
/**
*money between 60 and 100, Typecolumn and money two columns must exist
*/
$where =array (' Typecolumn ' =>array (' $exists ' =>true), ' Money ' =>array (' $exists ' =>true, ' $gte ' =>60, ' $ LTE ' =>100));
$result = $collection->find ($where);
5. Paging
Copy the Code code as follows:
> Db.books.find (). Skip (1). limit (1); Skip the article and take a
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
This mysql,limit,offset is a bit similar, the PHP code is as follows:
Copy the Code code as follows:
$result = $collection->find ()->limit (1)->skip (1);//skip 1 records, remove 1 strips
6. Sorting
Copy the Code code as follows:
> Db.books.find (). Sort ({money:1,code:-1}); 1 means descending-1 means ascending, and the order of the arguments affects the sort sequence
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
{"_id": 1, "title": "Red Mansions", "Auther": "Cao Xueqin", "Typecolumn": "Test", "Money": "Code": 10}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
The PHP code is as follows:
Copy the Code code as follows:
$result = $collection->find ()->sort (Array (' Code ' =>1, ' money ' =>-1);
7. Fuzzy Query
Copy CodeThe code is as follows:
> Db.books.find ({"title":/City/}); Like '%str% ' paste query data in a collection
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
> Db.books.find ({"Auther":/^ Li/}); Like ' str% ' paste query data in a collection
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
> Db.books.find ({"Auther":/Book $/}); Like '%str ' paste query data in a collection
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
> Db.books.find ({"title": {$regex: ' City ', $options: ' I '}}); Like '%str% ' paste query data in a collection
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
The PHP code is as follows, in order:
Copy the Code code as follows:
$param = Array ("title" = = new Mongoregex ('/city/'));
$result = $collection->find ($param);
$param = Array ("Auther" = new Mongoregex ('/^ Lee/'));
$result = $collection->find ($param);
$param = Array ("Auther" = new Mongoregex ('/book $/'));
$result = $collection->find ($param);
8, $in and $nin
Copy the Code code as follows:
> Db.books.find ({money: {$in: [20,30,90]}}); Find data that money equals 20,30,90
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
> Db.books.find ({auther: {$in: [/^ Lee/,/^ Money/]}); Find data that begins with Lee, money
{"_id": 2, "title": "Fortress Besieged", "Auther": "Qian Zhongshu", "Typecolumn": "Test", "money": "," "Code": 20}
{"_id": 3, "title": "Baidicheng", "Auther": "Li Bai", "Typecolumn": "Test", "money": $, "code": 30}
{"_id": 4, "title": "Near Wine", "Auther": "Li Bai", "money": All, "code": 40}
The PHP code is as follows, in order:
Copy the Code code as follows:
$param = Array ("money" = = Array (' $in ' =>array (20,30,90)));
$result = $collection->find ($param);
foreach ($result as $id = = $value) {
Var_dump ($value);
}
$param = Array ("auther" = = Array (' $in ' =>array (New Mongoregex ('/^ Lee/'), New Mongoregex ('/^ money/')));
$result = $collection->find ($param);
foreach ($result as $id = = $value) {
Var_dump ($value);
}
9. $or
Copy the Code code as follows:
> Db.books.find ({$or: [{money:20}, {money:80}]}); Find Money equals 20, 80 of data
{"_id": 1, "title": "Red Mansions", "Auther": "Cao Xueqin", "Typecolumn": "Test", "Money": "Code": 10}
The PHP code is as follows:
Copy the Code code as follows:
$param = Array (' $or ' =>array ("=>20"), Array ("Money" =>80));
$result = $collection->find ($param);
foreach ($result as $id = = $value) {
Var_dump ($value);
}
10, distinct
Copy the Code code as follows:
> db.books.distinct (' auther ');
["Cao Xueqin", "Qian Zhongshu", "Li Bai"]
> db.books.distinct (' Auther ', {money: {$gt: 60}});
["Cao Xueqin", "Li Bai"]
The PHP code is as follows:
Copy the Code code as follows:
$result = $curDB->command (Array ("distinct" = "books", "Key" = "auther"));
foreach ($result as $id = = $value) {
Var_dump ($value);
}
$where = Array ("money" = = Array (' $gte ' = 60));
$result = $curDB->command (Array ("distinct" = "books", "Key" = "Auther", "query" and "= $where)");
foreach ($result as $id = = $value) {
Var_dump ($value);
}
First write here, above is just a few of the common operations of Select, Next, will write a little.