ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

mongodbÖеÄÅÅÐòºÍË÷Òý¿ìËÙѧϰ(Ò»)
2014-11-24 07:25:18 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºmongodb ÅÅÐò Ë÷Òý ¿ìË٠ѧϰ
mongodbÖеÄÅÅÐòºÍË÷Òý¿ìËÙѧϰ
ÔÚmongodbÖУ¬ÅÅÐòºÍË÷ÒýÆäʵ¶¼ÊÇÊ®·ÖÈÝÒ׵ģ¬ÏÈÀ´Ð¡½áÏÂÅÅÐò£º
www.2cto.com
1 ÏȲåÈëЩÊý¾Ý
db.SortTest.insert( { name : "Denis", age : 20 } )
db.SortTest.insert( { name : "Abe", age : 30 } )
db.SortTest.insert( { name : "John", age : 40 } )
db.SortTest.insert( { name : "Xavier", age : 10 } )
db.SortTest.insert( { name : "Zen", age : 50 } )
2 È»ºóĬÈϼìË÷Ò»ÏÂ
db.SortTest.find()
{ "_id" : ObjectId("50f6811c03141917bce6459f"), "name" : "Denis", "age" : 20 }
{ "_id" : ObjectId("50f6811d03141917bce645a0"), "name" : "Abe", "age" : 30 }
{ "_id" : ObjectId("50f6811d03141917bce645a1"), "name" : "John", "age" : 40 }
{ "_id" : ObjectId("50f6811d03141917bce645a2"), "name" : "Xavier", "age" : 10 }
{ "_id" : ObjectId("50f6811e03141917bce645a3"), "name" : "Zen", "age" : 50 }
ÅÅÐòµÄ»°£¬×¢Òâ1ÊÇÉýÐò£¬£­1ÊǽµÐò£¬ÈçÏ£º www.2cto.com
db.SortTest.find().sort({name: -1}) £¬Ôò¶Ôname×ֶνµÐò
{ "_id" : ObjectId("50f6811e03141917bce645a3"), "name" : "Zen", "age" : 50 }
{ "_id" : ObjectId("50f6811d03141917bce645a2"), "name" : "Xavier", "age" : 10 }
{ "_id" : ObjectId("50f6811d03141917bce645a1"), "name" : "John", "age" : 40 }
{ "_id" : ObjectId("50f6811c03141917bce6459f"), "name" : "Denis", "age" : 20 }
{ "_id" : ObjectId("50f6811d03141917bce645a0"), "name" : "Abe", "age" : 30 }
¿ÉÒÔͬʱ¶à¸ö×ֶεÄÅÅÁУ¬±ÈÈ磺
db.SortTest.find().sort( { age: -1 , name: 1} );
3 ¹ØÓÚË÷Òý
Ê×ÏÈ,mongodbµÄÊÇB-treeµÄË÷ÒýÁË¡£Òª×¢ÒâµÄÊÇ£¬Ò»¸öcollection²»Äܳ¬¹ý64¸öË÷Òý£¬
Ë÷ÒýµÄ´óС²»Äܳ¬¹ý1024×Ö½Ú£¬ÆäÖаüÀ¨×Ö¶ÎÃûºÍÖµºÍÃüÃû¿Õ¼ä¡£
Ê×ÏÈÕÕÑù´´½¨Êý¾Ý£º
db.Indexing.insert( { name : "Denis", age : 20 } )
db.Indexing.insert( { name : "Abe", age : 30 } )
db.Indexing.insert( { name : "John", age : 40 } )
db.Indexing.insert( { name : "Xavier", age : 10 } )
db.Indexing.insert( { name : "Zen", age : 50 } )
Ê×ÏÈ£¬³¢ÊÔ¿´ÏÂmongodbµÄÖ´Ðмƻ®£º
db.Indexing.find({name: "Denis"}).explain()£¬Õâ¸öÊÇ¿´µ±²éÕÒDenisµÄÖ´ÐÐÇé¿ö£¬
½á¹ûÈçÏ£º
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 0,
"nscannedObjects" : 0,
"nscanned" : 0,
"nscannedObjectsAllPlans" : 0,
"nscannedAllPlans" : 0,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"indexBounds" : {
},
"server" : "Denis:27017"
}
ÏÂÃæ¼Ó¸öË÷Òý£¬ÈçÏ£º
db.Indexing.ensureIndex({name: 1});
ÆäÖÐÒÀÈ»£¬1ÊÇÉýÐò£¬£­1ÊǽµÐò£¬ÔÙ¿´ÏÂÖ´Ðмƻ®£º
db.Indexing.find({name: "Denis"}).explain()
½á¹ûΪ£º
{
"cursor" : "BtreeCursor name_1",
"isMultiKey" : false,
"n" : 1,
"nscannedObjects" : 1,
"nscanned" : 1,
"nscannedObjectsAllPlans" : 1,
"nscannedAllPlans" : 1,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 1,
"indexBounds" : {
"name" : [
[
"Denis",
"Denis"
]
]
},
"server" : "Denis:27017"
}
¿ÉÒÔ¿´µ½£¬"cursor" Ò»À¸ÖУ¬ÒѾ­±ä³ÉÁËbtreeÁË£»²¢ÇÒ"indexBounds" :ÖÐÏÖÔÚÓÐÄÚÈÝÁË¡£
È»ºó¿ÉÒÔɾ³ýË÷Òý£º
db.Indexing.dropIndex({name: 1});
ɾ³ýËùÓÐË÷Òý
www.2cto.com
4 ´´½¨Î¨Ò»Ë÷Òý
db.Indexing.ensureIndex({name: 1}, {unique: true});
Ò²¾ÍÊǼÓÉÏ{unique: true}¾Í¿ÉÒÔÁË
5 ´´½¨¸´ºÏË÷Òý
±ÈÈçÒª´´½¨nameºÍageµÄ¸´ºÏË÷Òý£¬Ö±½ÓÈçÏÂ
db.Index
Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºÁ¬Ïß±»¾Ü£¬Çë¼ì²éÖ÷»úÃû³ÆºÍ²ººÅ.. ÏÂһƪ£ºhiveÈ«ÅÅÐòÓÅ»¯

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)