Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
MongoDBÈëÃÅ
 
×÷Õߣºyueguanghaidao À´Ô´£ºCSDN ·¢²¼ÓÚ 2016-4-13
  1491  次浏览      19
 

Ò»¡¢ MongoDB¼ò½é

MongoDBÊÇÒ»¸öÃæÏòÎĵµµÄÊý¾Ý¿âϵͳ¡£Ê¹ÓÃC++±àд£¬²»Ö§³ÖSQL£¬µ«ÓÐ×Ô¼º¹¦ÄÜÇ¿´óµÄ²éѯÓï·¨¡£

MongoDBʹÓÃBSON×÷ΪÊý¾Ý´æ´¢ºÍ´«ÊäµÄ¸ñʽ¡£BSONÊÇÒ»ÖÖÀàËÆJSONµÄ¶þ½øÖÆÐòÁл¯Îĵµ£¬Ö§³ÖǶÌ׶ÔÏóºÍÊý×é¡£

MongoDBºÜÏñMySQL£¬document¶ÔÓ¦MySQLµÄrow£¬collection¶ÔÓ¦MySQLµÄtable¡£

¶þ¡¢ WindowsÏÂMongoDB²Ù×÷

MongoDBÔÚWindowsÉϵݲװÔËÐкܷ½±ã¡£Ö±½ÓÏÂÔØ¡¢½âѹ£¬È»ºóÔËÐÐbin/mongod ¼´¿ÉÆô¶¯·þÎñÆ÷£¬ÔËÐÐbin/mongo ¼´¿ÉÔËÐÐÃüÁîÐпͻ§¶Ë¡£

2-1¡¢ ÏÂÔØÓë½âѹ

¹Ù·½ÍøÕ¾£ºhttp://www.mongodb.org/downloads¡£

ÏÂÔضÔÓÚ°æ±¾£¬½âѹ²¢³éÈ¡Ïà¹ØµÄbinĿ¼µ½C:\MongoDBÏ£¨Õâ¸öÈÎÒâÑ¡Ôñ£©¡£

ÔÚÆô¶¯MongoDB֮ǰ£¬ÎÒÃDZØÐëн¨Ò»¸ö´æ·ÅmongoDBÊý¾ÝºÍÈÕÖ¾µÄĿ¼¡£Êý¾Ý¿âĿ¼£ºC:\MongoDB\data\db\£¬ÈÕ־Ŀ¼£ºC:\MongoDB\data\¡£

2-2¡¢ ÔËÐзþÎñ¶Ë

´ò¿ªCMD´°¿Ú£¬½øÈëµ½C:\MongoDB\binĿ¼Ï£¬ÔËÐзþÎñ¶Ëmongod.exe

C:\>cd C:\MongoDB\bin  
C:\MongoDB\bin>mongod.exe --dbpath=C:\MongoDB\data\db --directoryperdb --logpath =C:\MongoDB\data\logs --logappend

½âÊÍÈçÏÂ:

ÈÕÖ¾ÎļþΪC:\MongoDB\data\logs£¬ÒÔ¼°Ìí¼Ó·½Ê½¼Ç¼£¨×·¼Ó£©¡£

Êý¾ÝĿ¼ΪC:\MongoDB\data\db£¬²¢ÇÒÿ¸öÊý¾Ý¿â½«´¢´æÔÚÒ»¸öµ¥¶ÀµÄĿ¼£¨--directoryperdb£©¡£

·þÎñ¶ËÒªÒ»Ö±ÔËÐС£Ctrl+C¿ÉÖжϡ£

Ò»°ãÀ´Ëµ£¬Èç¹û¾õµÃºÜÂé·³£¬¿ÉÒÔÖ»Ö¸¶¨--dbpath¼´¿É£¬È磺

mongod.exe --dbpath=C:\MongoDB\data 

2-3¡¢ ÔËÐпͻ§¶Ë

ÔÙ´ò¿ªÒ»¸öCMD´°¿Ú£¬½øÈëµ½C:\MongoDB\binĿ¼Ï£¬ÔËÐпͻ§¶Ëmongo.exeÀ´µÇ¼MongoDB¡££¨Òª±£³Ö·þÎñ¶Ëmongod.exeµÄ´°¿Ú²»¹Ø±Õ£©

½âÊÍ:

ÔËÐÐmongoÆô¶¯shell

shell»áÔÚÆô¶¯Ê±×Ô¶¯Á¬½ÓMongoDB·þÎñÆ÷£¬Ä¬ÈÏÁ¬½ÓtestÊý¾Ý¿â£¬²¢½«Õâ¸öÊý¾Ý¿âÁ¬½Ó¸³Öµ¸øÈ«¾Ö±äÁ¿db,Õâ¸ö±äÁ¿ÊÇMongoDBµÄÖ÷ÒªÈë¿Úµã¡£
shellÊǹ¦ÄÜÍ걸µÄJavascript½âÊÍÆ÷£¬¿ÉÒÔÔËÐÐÈκÎJavascript³ÌÐò¡£

ÎÒÃÇ¿ÉÒÔ²âÊÔһϣº

»¹¿ÉÒÔ³ä·ÖÀûÓÃJavascriptµÄ¿â£¬Èç

2-4¡¢ ²âÊÔ²Ù×÷

MongoDBʹÓÃGridFSÀ´´¢´æ´óÎļþ¡£Ã¿¸öBSON¶ÔÏó´óС²»Äܳ¬¹ý4MB¡£

×Ö¶ÎÃûÏÞÖÆ£º²»ÄÜÒÔ¡°$¡±¿ªÍ·£»²»ÄÜ°üº¬¡°.¡±£»¡°_id¡±ÊÇϵͳ±£ÁôµÄ×ֶΣ¬µ«Óû§¿ÉÒÔ×Ô¼º´¢´æΨһÐÔµÄÊý¾ÝÔÚ×Ö¶ÎÖС£

MongoDBΪÿ¸öÊý¾Ý¿â·ÖÅäһϵÁÐÎļþ¡£Ã¿¸öÊý¾ÝÎļþ¶¼»á±»Ô¤·ÖÅäÒ»¸ö´óС£¬µÚÒ»¸öÎļþÃû×ÖΪ¡°.0¡±£¬´óСΪ64MB£¬µÚ¶þ¸öÎļþ¡°.1¡±Îª128MB£¬ÒÀ´ËÀàÍÆ£¬Îļþ´óСÉÏÏÞΪ2GB¡£ÈçÏ£º

»ù±¾¸ÅÄî:

MongoDBÓÐdatabases(Ï൱ÓÚMysqlµÄÊý¾Ý¿â)×é³É,databasesÓÐcollections×é³É(collectionÏ൱ÓÚMysqlµÄ±í)  
collectionsÓÐdocuments×é³É(documentÏ൱ÓÚMysqlµÄÐÐ)£¬documentsÓÉfields×é³É(fieldsÏ൱ÓÚMysqlµÄÁÐ)

MongoDBûÓÐн¨Êý¾Ý¿âµÄÃüÁֻҪ½øÐÐinsert»òÆäËü²Ù×÷£¬MongoDB¾Í»á×Ô¶¯°ïÄ㽨Á¢Êý¾Ý¿âºÍcollection¡£µ±²éѯһ¸ö²»´æÔÚµÄcollectionʱҲ²»»á³ö´í£¬Mongo»áÈÏΪÄÇÊÇÒ»¸ö¿ÕµÄcollection¡£

Ò»¸ö¶ÔÏó±»²åÈëµ½Êý¾Ý¿âÖÐʱ£¬Èç¹ûËüûÓÐID£¬»á×Ô¶¯Éú³ÉÒ»¸ö¡°_id¡±×ֶΣ¬Îª12×Ö½Ú(24λ)16½øÖÆÊý¡£

ÄÇô_idÊÇÈçºÎ²úÉúµÄÄØ£¿

12×Ö½Ú°´ÕÕÈçÏ·½Ê½²úÉú£º

Ç°4¸ö×Ö½ÚÊÇ´Ó±ê×¼¼ÍÔª¿ªÊ¼µÄʱ¼ä´Á£¬µ¥Î»ÎªÃî

#ʱ¼ä´ÁÓëËæºóµÄ5¸ö×Ö½Ú×éºÏÆðÀ´£¬ÌṩÁËÃ뼶±ðµÄΨһÐÔ

#½ÓÏÂÀ´µÄ3¸ö×Ö½ÚÊÇËùÔÚÖ÷»úµÄΨһ±êʶ·û¡£Í¨³£ÊǼ«ÆäÖ÷»úÃûµÄÉ¢ÁÐÖµ->>ÊDz»Í¬Ö÷»úÉú³É²»Í¬µÄ_id

#ÏÂÃæµÄÁ½¸ö×Ö½ÚÀ´×ÔÓÚ½ø³Ì±êʶ·û(PID)->>È·±£Í¬Ò»»úÆ÷²¢·¢µÄ¶à¸ö½ø³Ì²úÉú²»Í¬µÄ_id

#Ç°9¸ö×Ö½Ú±£Ö¤ÁË£¬Í¬Ò»ÃëÖÓ²»Í¬»úÆ÷²»Í¬½ø³Ì²úÉúµÄ_idΨһ£¬ºó3¸ö×Ö½Ú¾ÍÊÇÒ»¸ö¼ÆÊýÆ÷£¬È·±£Ïàͬ½ø³ÌͬһÃë²úÉúµÄ_idҲΨһ¡£

ͬһÃëÖÓ×î¶àÔÊÐíÿ¸ö½ø³ÌÓµÓÐ256µÄ3´Î·½¸ö²»Í¬µÄ_id

µ±È»Èç¹û²åÈëÎĵµ²»´ø_id,Ôòϵͳ»á°ïÄã×Ô¶¯´´½¨Ò»¸ö£¬Èç¹û×Ô¼ºÖ¸¶¨Á˾ÍÓÃ×Ô¼ºÖ¸¶¨µÄ¡£

MongonÃüÁîÐпͻ§¶ËµÄ½Å±¾Óï·¨£º

show dbs // ÁгöËùÓÐÊý¾Ý¿â

use memo // ʹÓÃÊý¾Ý¿âmemo¡£¼´Ê¹Õâ¸öÊý¾Ý¿â²»´æÔÚÒ²¿ÉÒÔÖ´ÐУ¬µ«¸ÃÊý¾Ý¿â²»»áÁ¢¿Ì±»Ð½¨£¬ÒªµÈµ½Ö´ÐÐÁËinsertµÈµÄ²Ù×÷ʱ£¬²Å»á½¨Á¢Õâ¸öÊý¾Ý¿â¡£

show collections // Áгöµ±Ç°Êý¾Ý¿âµÄcollections(µ±Ç°Êý¾Ý¿âϵıí)

db // ÏÔʾµ±Ç°Êý¾Ý¿â

show users // ÁгöÓû§

н¨Êý¾Ý¿âÓëÊý¾Ý¼¯ºÏ£º

show dbs¿ÉÒÔ¿´µ½µ±Ç°Êý¾Ý¿âÓÐadmin,local,test ½éÉÜÈçÏ£º

admin:´ÓȨÏ޽ǶÈÀ´¿´£¬ÕâÊÇ¡®root'Êý¾Ý¿â.ÒªÊǽ«Ò»¸öÓû§Ìí¼Óµ½Õâ¸öÊý¾Ý¿â£¬Õâ¸öÓû§×Ô¶¯¼Ì³ÐËùÓÐÊý¾Ý¿âµÄȨÏÞ¡£

ÓÐЩ·þÎñÆ÷ÃüÁîÒ²Ö»ÄÜ´ÓÕâ¸öÊý¾Ý¿âÔËÐУ¬Èç¹Ø±Õ·þÎñÆ÷

local:Õâ¸öÊý¾Ý¿âÓÀÔ¶²»»á±»¸´ÖÆ£¬¿ÉÒÔÓÃÀ´´æ´¢ÓÚ±¾µØµ¥Ì¨·þÎñÆ÷µÄÈÎÒ⼯ºÏ

test:¿Í»§¶ËÆô¶¯Ê±×Ô¶¯Á¬½Óµ½Õâ¸öÊý¾Ý¿â£¬ËùÒÔ¿ªÊ¼dbÖ¸ÏòµÄÊÇtest

##use test2 ->>´ËʱdbÖ¸Ïòtest2 db.createCollection('t_test')->´´½¨collection(¼´Ï൱ÓÚÔÚÊý¾Ý¿âtest2ÖÐн¨t_test±í)£¬ÓÃshow collections //¿É²é¿´µ½Ð½¨µÄtest2

²åÈëÊý¾Ý£º£¨²åÈëÊý¾ÝµÄ·½Ê½Óкܷḻ£©

###db.XXX.save():

###db.XXX.insert()

²éѯÊý¾Ý£º

$lt    ->less then  СÓÚ
$lte ->less than and equal ²»´óÓÚ
$gt ->greater then ´óÓÚ
$gte ->greater then and equal ²»Ð¡ÓÚ
$ne ->not equal ²»µÈÓÚ

MongoDBµÄ²éѯÓï·¨ºÜÇ¿´ó£¬ÀàËÆÓÚSQLµÄÌõ¼þ²éѯ¡£ÀýÈ磬ºÜ¶àSQL¿ÉÒÔ×öµÄ£¬Ëü¶¼¿ÉÒÔ×ö£º

db.foo.find() // select * from foo  
db.foo.find().limit(10) // select * from foo limit 10
db.foo.find().sort({x:1}) // select * from foo order by x asc 1:ÉýÐò -1:½µÐò
db.foo.find().sort({x:1}).skip(5).limit(10) // select * from foo order by x asc limit 5, 10
db.foo.find({x:10}) // select * from foo where x = 10
db.foo.find({x: {$lt:10}}) // select * from foo where x <= 10
db.foo.find({}, {y:true}) // select y from foo
һЩSQL²»ÄÜ×öµÄ£¬MongoDBÒ²¿ÉÒÔ×ö£º
db.foo.find({"address.city":"gz"}) // ËÑË÷ǶÌ×ÎĵµaddressÖÐcityֵΪgzµÄ¼Ç¼
db.foo.find({likes:"math"}) // ËÑË÷Êý×é
db.foo.ensureIndex({"address.city":1}) // ÔÚǶÌ×ÎĵµµÄ×Ö¶ÎÉϽ¨Ë÷Òý

¸üÐÂÊý¾Ý£º

db.foo.update({},{})¸üжÔÏ󣬵ÚÒ»¸ö²ÎÊýÊDzéѯ¶ÔÏ󣬵ڶþ¸öÊÇÌæ´úµÄ£¬¿ÉÒÔÔÚµÚ¶þ¸ö¶ÔÏóÀïÖ¸¶¨¸üÐÂÄÄЩ×ֶΣ¬ÒªÊ¹ÓÃ$set¡£

"$set"ÓÃÀ´Ö¸¶¨Ò»¸ö¼üµÄÖµ¡£Èç¹ûÕâ¸ö¼ü²»´æÔÚ£¬Ôò´´½¨Ëü£¬Èç¹û´æÔÚÔò¸üÐÂ

ɾ³ýÌõ¼þ²éѯ£º

ɾ³ýÊý¾Ý¼¯ºÏ£¨±í£©£º

ɾ³ýµ±Ç°Êý¾Ý¿â£º

db.foo.remove()ÊÇÓÃÀ´É¾³ýÊý¾Ý£¬Ö»É¾³ýÆ¥ÅäµÄ¶ÔÏó

Ôö¼Ófield:

$push£ºÔö¼ÓÊý×éÔªËØ

ÈçÏÂÃæpeople¼¯ºÏ±¿Ã»ÓÐaddr field£¬Ê¹ÓÃ$pushÌí¼Ó->>Èç¹ûûÓÐaddr¾ÍÔö¼Óaddr field,Èç¹ûÓÐÁË£¬¾ÍÔö¼ÓÊý×éÔªËØ

$pop£º¼õÉÙÊý×éÔªËØ

or£¬andºÍexistsµÄÓ÷¨£º

½âÊÍÈçÏ£º

> db.people.find({"name":"yhb",$or:[{"age":18},{"age":20}]})   //ÕÒ³önameΪyhb,ageΪ18»òÕß20µÄ
db.people.find({"addr":{$exists:false}})      //ÕÒ³ö²»´æÔÚaddr field

À´µã¸´Ôӵİɣº

ÕÒ³öpeopleÖÐnameΪyhb£¬ÄêÁäΪ18£¬»òÕßnameΪlwy£¬nameΪ19µÄ

½âÊÍһϣº

db.people.find({$or:[{"name":"yhb","age":18},{"name":"lwy","age":19}]})  //{"name":"yhb","age":18}Æäʵ¾ÍÊÇandµÄ¹Øϵ
db.people.find({$or:[{$and:[{"name":"yhb"},{"age":18}]},{$and:[{"name":"lwy"},{"age":19}]}]}) //ÓÃandÃ÷˵ÁËһϣ¬ÆäʵÊÇÒ»ÑùµÄ

Ö÷Òª¾ÍÊÇ×¢ÒâÓ÷¨¾ÍºÃÁË£¬¾ÍÊÇǶÌ׶øÒÑ

Èç¹ûÊÇor£º ->> {$or:[{Ìõ¼þ1},{Ìõ¼þ2}]}  
Èç¹ûÊÇand£º ->> {$and:[{Ìõ¼þ1},{Ìõ¼þ2}]}

Ë÷Òý£º

db.foo.ensureIndex({productid:1})  // ÔÚproductidÉϽ¨Á¢ÆÕͨË÷Òý
db.foo.ensureIndex({district:1, plate:1}) // ¶à×Ö¶ÎË÷Òý
db.foo.ensureIndex({productid:1}, {unique:true}) // ΨһË÷Òý

×ܵÄÀ´Ëµ£¬Ê¹ÓÃmongodb¿ÉÒÔÂú×ã³£¼ûµÄÔöɾ¸Ä²î£¬µ«ÊDz»ÄÜÍê³É¸´ÔӵĿç±í¼¶Áª²éѯ£¬mongodbŬÁ¦Ê¹Êý¾Ý±äµÃ¼òµ¥½ô´Õ¡£

2-5¡¢ ±¸·ÝÓë»Ö¸´

¶þ½øÖÆÊý¾Ý¸ñʽ£¬³£ÓÃÓÚ±¸·Ý¡¢»¹Ô­¡£

MongodbµÄ±¸·Ý¹¤¾ß mongodump£º

ÊÂÀý£ºÏÂͼ°Ñ±¸·ÝÊý¾Ý¿âtestÖÐËùÓеÄÊý¾Ý¼¯ºÏ£¨±í£©

MongoDBµÄÊý¾Ý»Ö¸´¹¤¾ß mongorestore£º

ÊÂÀý£º»Ö¸´Êý¾Ý¿âtestÖеıít002µÄÊý¾Ý

2-6¡¢ Êý¾Ýµ¼³ö¡¢µ¼Èë

json»òcs v¸ñʽ£¬Ã¿´ÎÒ»¸öcollection

Êý¾Ýµ¼³ö£º

Êý¾Ýµ¼È룺

2-7¡¢ °²È«ÓëÈÏÖ¤

ÿ¸öMongoDBʵÀýÖеÄÊý¾Ý¿â¶¼¿ÉÒÔÓÐÐí¶àÓû§¡£Èç¹û¿ªÆôÁË°²È«ÐÔ¼ì²é£¬Ö»ÓÐÊý¾Ý¿âÈÏÖ¤Óû§²ÅÄÜÖ´ÐжÁ»òÕßд¡£

ÔÚ¿ªÆô°²È«¼ì²é֮ǰ£¬Ò»¶¨ÒªÖÁÉÙÓиö¹ÜÀíÔ±Õ˺š£¸Õ¿ªÊ¼Ê±£¬shellÁ¬½ÓµÄÊÇûÓпªÆô°²È«¼ì²éµÄ·þÎñÆ÷¡£

Ôö¼Ó¹ÜÀíÔ±£º

ÉÏÃæÌí¼ÓÁ˹ÜÀíÔ±root

use test2   // Ñ¡ÔñÊý¾Ý¿âtest2
db.addUser("username", "password"); // ÆÕͨȨÏÞ£¬¿É¶Áд
db.addUser("username", "password", true); // Ö»¿É¶Á£¬²»¿Éд
db.system.users.remove({user: ¡°username¡±}); // ɾ³ýÓû§

ÏÖÔÚÖØÆô·þÎñÆ÷£¬¼ÓÈë--authÑ¡Ï¿ªÆô°²È«¼ì²é

È»ºóÓÿͻ§¶ËÁ¬½Ó£º

×¢Ò⣺ÄǸöÓÃÄĸöÊý¾Ý¿âµÄÕ˺ÅÈÏÖ¤¾Í±ØÐëÏÈÇл»µ½¶ÔÓ¦µÄÊý¾Ý¿â

   
1491 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ

²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼Æʦ
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí

GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Ò滪 ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí