MongoDB學習筆記九 MongoDB索引

2021-09-02 08:02:23 字數 1711 閱讀 3877

var p1 = ,	

,]}var p2 = ,

,]}var p3 = ,

,]}var p = [p1,p2, p3];

db.people.drop();

db.people.insert(p);

當查詢列中包含name屬性時,索引將其作用

db.people.ensureindex() //1表示正向索引
復合索引的起作用是當name和age屬性相鄰,復合索引起作用

db.people.ensureindex() //1表示正向索引,-1表示反向索引
查詢時,哪個索引起作用與find中定義的查詢物件(json)的書寫順序無關,這是合理的,因為json物件本身是鍵值對,無序的鍵值集合

1. db.people.find().explain()

> db.people.find().explain();

, "server" : "tom-inspiron-3521:27017"

}

2. db.people.find();

> db.people.find().explain();

, "server" : "tom-inspiron-3521:27017"

}

3. db.people.find();

> db.people.find().explain();

, "server" : "tom-inspiron-3521:27017"

}

4. db.people.find();

}

> db.people.find().explain();

, "server" : "tom-inspiron-3521:27017"

}

5. db.people.find();

db.people.find().explain();

, "server" : "tom-inspiron-3521:27017"

}

6. db.people.find();

db.people.find().explain(); //name,age,nickname數序

, "server" : "tom-inspiron-3521:27017"

}

上面的例子中,索引的名字都是mongodb自動建立的,如何建立索引名呢?

索引建好後,如何察看當前的資料庫有哪些索引呢?可見,預設情況下,每個集合的_id屬性都已經是正向索引,這是mongodb內建提供的

> db.system.indexes.find();

, "ns" : "foobar.persons" }

, "ns" : "foobar.db-text" }

, "ns" : "foobar.addresses" }

, "ns" : "foobar.c" }

, "ns" : "foobar.people" }

, "ns" : "foobar.people" }

, "ns" : "foobar.people" }

> db.runcommand(); 不工作

> db.runcommand(); 不工作

> db.runcommand(); //使用people,即指定了集合的名稱即可

MongoDB學習筆記

從接觸計算機學習開始,我所使用的資料庫就是mysql,oracle這樣的關係型資料庫。早就聽說了nosql的概念,也對其有代表性的非關係型資料庫mongodb有所耳聞,一直想學習學習這項從未使用過的技術,可是由於種種原因,又沒有時間來學習學習這項新的概念。也就是這麼巧,目前的工作中,使用到的就是mo...

mongodb學習筆記

匯入json檔案命令 mongoimport db test collection user file d new.json mongodb查詢某一條件的資料插入到集合中 var result db.csmdr.find while result.hasnext db.新建表名.insert res...

MongoDB 學習筆記

import pymongo client pymongo.mongoclient localhost 27017 利用pymongo的mongoclinet 方法構造clinet xiaoshuo client xiaoshuo 利用clinet物件建立xiaoshuo表 sheet 1 xiao...