A. mongo資料庫是怎麼創建索引
2種方式:
(1)mongo shell
db.yourCollectionName.createIndex({fieldName: 1})
舉例:
db.gameShortLink.createIndex({shortLink: 1})
(2)pymongo代碼
indexKeyList = [
("fieldName", pymongo.ASCENDING),
]
mongoCollection.create_index(indexKeyList)
註:
一次性創建多個索引,舉例:
import pymongo
from pymongo import IndexModel
# from pymongo import ASCENDING, DESCENDING
indexShortLink = IndexModel([("shortLink", pymongo.ASCENDING)], name="shortLink")
indexIsParseOk = IndexModel([("parsedLink.isParseOk", pymongo.ASCENDING)], name="parsedLink_isParseOk")
indexErrType = IndexModel([("parsedLink.errType", pymongo.ASCENDING)], name="parsedLink_errType")
indexRealGameName = IndexModel([("parsedGame.realGameName", pymongo.ASCENDING)], name="parsedGame_realGameName")
indexGameTheme = IndexModel([("parsedGame.gameTheme", pymongo.ASCENDING)], name="parsedGame_gameTheme")
indexModelList = [
indexShortLink,
indexIsParseOk,
indexErrType,
indexRealGameName,
indexGameTheme,
]
mongoCollectionShortlink.create_indexes(indexModelList)
詳見:(網路搜)
【已解決】用mongo的shell給MongoDB創建索引以提高查詢速度
【已解決】PyMongo中如何一次性創建多個index索引
B. 如何建立一個含有用戶名和密碼的mongodb的資料庫
方法如下:
創建資料庫
use tt
這樣就創建了一個資料庫,如果什麼都不操作離開的話,這個庫就會被系統刪除.所以還要執行下面的命令:
db.usr.insert({'name':'tompig'});
db.usr.insert({'name':'tompig1','id':1});
隨便整了2個表,這個無所謂的,反正要導入表的話就刪除掉這2個就可以了,目前只是想讓資料庫保持住.
然後使用命令查看是否有保存tt這個資料庫:
show dbs
3.配置用戶
use tt
db.addUser('mongodb','123456');
mongodb是用戶名,123456是密碼.
好了,這樣一個資料庫和對這個資料庫配置用戶就完成了.
mongodb常用命令:
1、Help查看命令提示
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();
2、切換/創建資料庫
use yourDB; 當創建一個集合(table)的時候會自動創建當前資料庫
3、查詢所有資料庫
show dbs;
4、刪除當前使用資料庫
db.dropDatabase();
5、從指定主機上克隆資料庫
db.cloneDatabase(「127.0.0.1」); 將指定機器上的資料庫的數據克隆到當前資料庫
6、從指定的機器上復制指定資料庫數據到某個資料庫
db.Database("mydb", "temp", "127.0.0.1");將本機的mydb的數據復制到temp資料庫中
7、修復當前資料庫
db.repairDatabase();
8、查看當前使用的資料庫
db.getName();
db; db和getName方法是一樣的效果,都可以查詢當前使用的資料庫
9、顯示當前db狀態
db.stats();
10、當前db版本
db.version();
11、查看當前db的鏈接機器地址
db.getMongo();
Collection聚集集合
1、創建一個聚集集合(table)
db.createCollection(「collName」, {size: 20, capped: 5, max: 100});
2、得到指定名稱的聚集集合(table)
db.getCollection("account");
3、得到當前db的所有聚集集合
db.getCollectionNames();
4、顯示當前db所有聚集索引的狀態
db.printCollectionStats();
用戶相關
1、添加一個用戶
db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用戶、設置密碼、是否只讀
2、資料庫認證、安全模式
db.auth("userName", "123123");
3、顯示當前所有用戶
show users;
4、刪除用戶
db.removeUser("userName");
其他
1、查詢之前的錯誤信息
db.getPrevError();
2、清除錯誤記錄
db.resetError();
C. 如何在MongoDB中建立新資料庫和集合
概念
一定范圍的集合,確定的,可分辨的東西,作為一個整體來看,被稱為集,稱為集,其中,每個組元素或一種叫做短元件。不同的人物,如阿Q(1)真實的故事出現在(2)全部為大寫字母。任何集合是它自己的子集的關系
收集要素:
集「歸屬感」和元素之間的關系「不屬於」兩種。分類
集合:
工會:屬於A或B的元素是屬於集合的元素被稱為A和B(套),表示A∪B(或B∪A),讀作「A和B」(或「B和A」),即A∪B= {X |x∈A,或x∈B}
路口:屬於A和B是屬於元素集合的元素稱為A和B的薪酬(套),表示A∩B(或B∩A),讀作「A交B」(或「B交A」),即A∩B= {X |x∈A,和x∈ B}
的區別:不屬於A和B的一部分元素的元素集合稱為差(套)
說明A和B:空集包含於任何集合,但不能說「空集屬於任何集合「。
某些特定的對象集合在一起,就成為一個集合包含的元素叫做有限集包含的元素稱為無限集合無限數量有限數,空集是不含任何元素的集合,記Φ。空集是任何集合的一個子集是真正的任何非空集的子集,沒有集合是本身所有真正傳遞的一個子集的一個子集的一個子集。
「解釋:如果所有的元素都同時設置B元素的集合,則A被稱為B的一個子集,編寫的B.如果A是B的一個子集,而A不等於B,?則A被稱為B的真子集,編寫的B.
集所有男人都是集自然「
集合中的所有真子集:?
確定性:可確定每個對象是不元素的集合,沒有肯定它不能被設置,如「高同學」,「小的數字」不能構成的集合。
變化:任何兩個元素的集合是不同的對象。不能被寫為{1,1,2},{1,2}應寫入。
障礙:{A,B,C} {C,B,A}是同一個集合。
設置具有以下性質:如果A是包含在B,那麼A∩B= A,A∪B=表示B
集合:枚舉法常用和描述方法。
1.枚舉法:用於每個有限集,該集列表出來的所有元素,寫在括弧內,這種表示被稱為組枚舉法。 {1,2,3,...}
2.描述法:常用的集合用來表達無限的,對文字,符號或公式,等集合中的共同財產元素描述,寫在括弧,其中的方法代表了一個名為描述方法的集合。 {X | P}(X為P為這個集合的共同財產元素的一般形式的集合中的元素),如:正實數少於π的集合,表示為:{X | 0 < X <π}
3的圖式法:為了表達集合的形象,我們常常畫一條封閉的曲線(或圓),用收集其內部表示。使用的符號
號碼設定:
(1)中的所有非負整數的集合通常被稱為一個非負整數(或一組自然數),表示為N
( 2)內的一組非負整數排除設置為0,也稱為正整數,以N +表示的(或N *)
(3)組所有整數,通常稱為整數集,表示由Z
(4)收集所有有理數通常稱為集有理數,由Q
表示為(5)設定的所有實數的,通常被稱為實數集,表示通過計算點擊看詳細收集:1。
交換
A∩B=B∩A
A∪B=B∪A
2.關聯
(A∩B)∩C=A∩(B∩C)
(A∪B)∪C=A∪(B∪C)
3.分配
A∩(B∪C) =(A∩B)∪(A∩C)
A∪(B∩C)=(A∪B)∩(A∪C)的
2日摩根法律
銫(A ∩B)=CsA∪CsB
銫(A∪B)=CsA∩CsB
3「容斥原理」
在收集的學習,遇到涉及人數問題集合中的元素,我們限制在集合A的元素數,記為卡(A)中。例如,A = {A,B,C},卡(A)= 3
卡(A∪B)=卡(A)+卡(B)-card(A∩B) BR>卡(A∪B∪C)=卡(A)+卡(B)+卡(C)-card(A∩B)-card(B∩C)-card(C∩A)+卡(A ∩B∩C)
1985年德國數學家,集合論,領唱者的創始人所講的道集合,援引的法律,法律是描述收集的常用方法。點擊看詳細吸收法
A∪(A∩B)= A
A∩(A∪B)= A
補充法律
A∪CsA= S
A∩CsA=Φ點擊看詳細【聚焦】
理解藏品,藏品的性質,元素的集合,它們之間的關系代表的概念。子
收集,運送,以及相配套的意義和用法。掌握術語和符號,用准確的表示語言,研究收集,處理有關數學問題。
[難度]
的集合的概念的含義以及這些概念和它們之間的鏈路之間的差別。
准確的了解使用更多的新概念,新符號的處理數學問題。
D. windows下安裝好mongodb後怎麼創建資料庫
一、安裝mongoDB
1、解壓mongodb-win32-i386-1.8.2至E:\MyProgram\mongodb-win32-i386-1.8.2(你可以按照自己的路徑來,路徑中最好不要有空格,要不然麻煩)
2、新建文件夾C:\DATA\DB,這是mongoDB的默認數據文件夾,你也可以在文件夾E:\MyProgram\mongodb-win32-i386-1.8.2新建一個文件夾data作為mongoDB的資料庫文件存儲目錄
3、進入CMD,運行命令E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod.exe -dbpath E:\MyProgram\mongodb-win32-i386-1.8.2\data,OK,mongoDB已經安裝成功並已經在運行中了,你將會看到如下:
此時是mongoDB的運行狀態,你可以按Ctrl+C結束運行狀態或者直接關掉CMD結束運行。
二、運行mongoDB時的錯誤與處理
完成安裝後,結束掉所有CMD窗口,然後進行如下操作:
1、運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,可能會報錯誤:couldn't connect to server 127.0.0.1 shell/mongo.js,原因是mongod.exe沒有啟動,
2、既然沒啟動,那咱就啟動唄,運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod,可能會報錯誤:dbpath (/data/db/) does not exist, terminating,看這樣子,本人覺得還得在data文件夾下再建一個db文件夾啊,如此即新建一db文件夾,再運行mongod命令,結果提示一樣,不知道怎麼搞啦,咱google吧
找到文章http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo
說「To start Mongo in default mode, where data will be stored in the /data/db directory (or c:\data\db on Windows), and listening on port 27017」,哦,原來默認的文檔路徑在c:\data\db,啥也不說,直接按這個建文件夾,再次運行命令mongod,OK了,啟動成功,這個命令窗口不能關閉,否則mongoDB就退出了
三,使用mongo命令
保持mongod命令窗口的運行狀態,再新開一命令窗口
輸入E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,出現
MongoDB shell version:1.8.2
connecting to:test
>
OK,連接成功。
1,show dbs 顯示資料庫列表
2,use Northwind 進入Northwind資料庫,大小寫敏感
3,show collections 顯示資料庫中的集合
4,db 用於查看當前所在的資料庫
5,db.Customer.count() 查看集合Customer的記錄總數
6,db.Customer.findOne({"_id":"1"}) 查看CustomerId=1的記錄
新增數據
1,use MyTest,這個資料庫不存在,無所謂,mongo會創建,
MongoDB在使用前,並不要求您事先創建好相應的資料庫,設計數據表結構!
在MongoDB中,沒有【表】的概念,取而代之的是【集合】,也沒有【數據記錄】的概念,取而代之的是【文檔】,我們可以把【文檔】理解成一個【對象】,任意的對象,甚至可以有復雜的嵌套層次。
因此,我們不用再寫代碼從【數據表欄位】到C#類的【屬性,欄位】的轉換了,現在直接就可以讀寫整個對象了。
而且MongoDB不支持Join操作,所以,如果有【關聯】操作,就需要你自己來處理
2,item={"Key":"1","text":"wokao","number":3}
3,db.table1.insert(item),mongo將建立集合table1,並將item插入,完成了新增加資料庫的工作
4,db.table1.find()顯示table1中的數據,MongoDB的文檔使用的是一種稱為BSON格式的對象,與Javascript中的JSON類似
5,額外的,輸入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到結構和item不一樣!但不建議這樣做。
注意到:【每個文檔有一個名為 "_id" 的成員】,我可沒有定義啊。
其實,MongoDB會為每個文檔都創建這樣一個文檔成員,我們指定的 "key", "id" 對於MongoDB來說:它們並不是【文檔的主鍵】,MongoDB只認 "_id",你可以指定,但如果不指定,MongoDB就自動添加。
修改數據
1,var t=db.table1.findOne({"Id":5}),獲取一條記錄
2,t.str="wokao"
3,db.table1.update({"Id":5},t)
刪除數據
db.table1.remove({"Id":5})
查找數據
上面已經有find和findOne命令,即用於查詢
db.table1.find()
MongoDB的查詢條件中,並沒有 >, <, >= , <= 這些運算符,而是使用 "$lt", "$lte", "$gt", "$gte"
新建表
db.MyTest.table2.save({})
刪除表
db.table1.drop()或db.runCommand({"drop","table1"})
刪除資料庫
db.runCommand({"dropDatabase": 1}),此命令只能刪除當前資料庫
獲取服務端狀態信息
db.runCommand({"serverStatus" : 1})
E. 怎麼連接mongodb的資料庫
MongoDB是由10gen團隊開發的基於分布式存儲的開源資料庫系統,使用C++編寫。MongoDB作為一個文檔型資料庫,其中數據以鍵值對的方式來存儲。
下面我們來看下MogoDB的基本使用方法。
1、連接MongoDB資料庫
使用如下命令來連接MongoDB資料庫
mongo
刪除資料庫
F. 怎麼用mongodb創建資料庫
use 命令
MongoDB use DATABASE_NAME 用於創建資料庫。該命令將創建一個新的資料庫,如果它不存在,否則將返回現有的資料庫。
語法:
use DATABASE 語句的基本語法如下:
use DATABASE_NAME
示例:
如果想創建一個資料庫名稱 <mydb>, 那麼 use DATABASE 語句如下:
>use mydb
switched to db mydb
要檢查當前選擇的資料庫使用命令 db
>db
mydb
如果想檢查資料庫列表,使用命令show dbs.
>show dbs
local 0.78125GB
test 0.23012GB
創建的資料庫mydb 列表中是不存在的。要顯示的資料庫,需要把它插入至少一個文件。
>db.movie.insert({"name":"tutorials yii"})
>show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
在 MongoDB 默認資料庫測試。如果沒有創建任何資料庫,然後集合將被存儲在測試資料庫。
G. mongodb創建資料庫是不是在cmd中寫代碼
use
命令
MongoDB
use
DATABASE_NAME
用於創建資料庫。該命令將創建一個新的資料庫,如果它不存在,否則將返回現有的資料庫。
語法:
use
DATABASE
語句的基本語法如下:
use
DATABASE_NAME
示例:
如果想創建一個資料庫名稱
<mydb>,
那麼
use
DATABASE
語句如下:
>use
mydb
switched
to
db
mydb
要檢查當前選擇的資料庫使用命令
db
>db
mydb
如果想檢查資料庫列表,使用命令show
dbs.
>show
dbs
local
0.78125GB
test
0.23012GB
創建的資料庫mydb
列表中是不存在的。要顯示的資料庫,需要把它插入至少一個文件。
>db.movie.insert({"name":"tutorials
yii"})
>show
dbs
local
0.78125GB
mydb
0.23012GB
test
0.23012GB
在
MongoDB
默認
資料庫測試
。如果沒有創建任何資料庫,然後集合將被存儲在測試資料庫。
H. 如何用robomongo創建資料庫
打開網路首頁,搜索「Robomongo-0.8.4-i386.exe」圖形化工具,下載安裝軟體,雙擊運行 Robomongo-0.8.4-i386.exe,點擊「下一步」,如下圖所示:
點擊「我接受(I)」,如下圖所示:
選擇安裝位置,然後點擊「下一步(N)」,如下圖所示:
點擊"安裝(I)",如下圖所示:
直至安裝完成,如下圖所示:
運行 robomongo,可以在開始菜單找到啟動程序 ,點擊Create,如下圖所示:
如果只連接本地的mongodb,那麼什麼都不用選擇 ,直接「save」即可,如下圖所示:
選中「本地",並點擊connect,如下圖所示:
現在可以通過robomongo來管理mongodb資料庫了,如下圖所示: