MySQL:
SELECT * FROM user WHERE name = 'starlee'
Mongo:
db.user.find({'name' : 'starlee'}) 插入:
MySQL:
INSERT INOT user (`name`, `age`) values ('starlee',25)
Mongo:
db.user.insert({'name' : 'starlee', 'age' : 25})
if you want add a column `email` on MySQL,you must :
ALTER TABLE user….
But in Mongo,you can just:
db.user.insert({'name' : 'starlee', 'age' : 25, 'email' : 'starlee@starlee.com'})
删除:
MySQL:
DELETE * FROM user
Mongo:
db.user.remove({})
MySQL:
DELETE FROM user WHERE age < 30
Mongo:
db.user.remove({'age' : {$lt : 30}})
MySQL:
SELECT name, sum(marks) FROM user GROUP BY name
Mongo:
db.user.group({
key : {'name' : true},
cond: {'name' : 'foo'},
reduce: function(obj,prev) { prev.msum += obj.marks; },
initial: {msum : 0}
});
MySQL:
SELECT name FROM user WHERE age < 20
Mongo:
db.user.find('this.age < 20', {name : 1})
更多高级应用:http://www.mongodb.org/display/DOCS/Advanced+Queries
===================Sharding=====================
>db.runCommand({addShard:"[:]>"});
>db.runCommand({enablesharding:""});
>db.runCommand({shardcollection:"test.users",key:{email:1},unique:true}) ;
===================GridFS=====================
files:object metadata
{
"_id" : , //unique ID for this file
"filename" : data_string, //human name for the file
"contentType" : data_string, //valid mime type for the object
"length" : data_number, //size of the file in bytes
"chunkSize" : data_number, //size of each of the chunks.Default is 256k
"uploadDate" : data_date, //date when object first stored
"aliases" : data_array of data_string, //optional array of alias strings
"metadata" : data_object, //anything the user wants to store
"md5" :data_string, //result of running the "filemd5" command on this file's chunks
}
chunks:binary data
{
"_id" : , //object id of the chunk in the chunks collection
"file_id" : , //_id value of the owning {{files}} collection entry
"n" : data_number, //"chunk number" - chunks are numbered in order,starting with 0
"data" :data_binary (type 0x02), // binary data for chunk
}
================Use GridFS in PHP=====================
1 /**
2 * Store image
3 *
4 * @param string $file
5 * @return int
6 */
7 public funtion storeFile($file){
8 $mongo = new Cola_Mongo();
9 return $mongo->storeFile('/path/to/starlee.jpg');
10 }
11 /**
12 * Display image
13 *
14 */
15 public function display(){
16 $mongo = new Cola_Mongo();
17 $file = $mongo->file('/path/to/starlee.jpg');
18 header("Content-type:image/jpeg");
19 echo $file->getBytes();
20 }