時(shí)間:2024-02-28 13:28作者:下載吧人氣:22
使用插入數(shù)據(jù)命令:
>insert
需要注意的是,如果插入一文件(現(xiàn)在理解,nosql 類型的db數(shù)據(jù)不能說(shuō)是記錄了,它是已文件作為單位,而傳統(tǒng)型的關(guān)系型數(shù)據(jù)庫(kù),我們說(shuō)是插入一條記錄),如果沒(méi)有帶人_id,那么會(huì)自動(dòng)生成一個(gè)唯一的id,這個(gè)id好比關(guān)系型數(shù)據(jù)庫(kù)里的主鍵一樣。
如果是自己指定id,那么必須id是唯一的,這點(diǎn)關(guān)系型和nosql型都必須要求的;
數(shù)據(jù)字段的名字不能包含$ 和.
在敲了一陣發(fā)現(xiàn),擦,我要是再shell里面去編寫(xiě)復(fù)雜的插入語(yǔ)句,就shell的這種一行一句,不搞死我去啊。我想它肯定是支持向bat這種批處理或者其他,看它語(yǔ)法和js一模一樣,于是大膽猜測(cè)它使用的就是javascript,于是我就用notepad++來(lái)編輯這些插入命令,試著插入復(fù)雜的對(duì)象;
哦,另外說(shuō)一句,如果這個(gè)bios數(shù)據(jù)不存在,那么要先使用
>use bios
生成一個(gè)數(shù)據(jù)庫(kù),如果你不往這里插入一筆數(shù)據(jù),mongoDB會(huì)自動(dòng)刪除掉這個(gè)數(shù)據(jù)庫(kù);
所以還要插入一筆讓mongodb維持這數(shù)據(jù)庫(kù)的任意數(shù)據(jù)
>db.bios.insert({a:'a'})
編寫(xiě)了一個(gè)insert.js腳步,放在安裝目錄的js文件夾下。于是這樣輸入:
>mongolocalhost:27017/bios f:mongodbjsinsert.js
效果如圖
可以看到,這個(gè)js腳步成功執(zhí)行;
要查詢這個(gè)文檔,輸入命令:
>db.bios.find({ name: { first: 'John', last: 'chen' } } );
有了js寫(xiě)更多的語(yǔ)句,就方便多了。
Isert語(yǔ)句支持多個(gè)批量插入就像下面這樣:
Insert.js 語(yǔ)句:
db.bios.insert(
[
{
_id: 3,
name: { first: ‘Grace’, last: ‘Hopper’ },
title: ‘Rear Admiral’,
birth: new Date(‘Dec 09, 1906’),
death: new Date(‘Jan 01, 1992’),
contribs: [ ‘UNIVAC’, ‘compiler’, ‘FLOW-MATIC’, ‘COBOL’ ],
awards: [
{
award: ‘Computer Sciences Man of the Year’,
year: 1969,
by: ‘Data Processing Management Association’
},
{
award: ‘Distinguished Fellow’,
year: 1973,
by: ‘ British Computer Society’
},
{
award: ‘W. W. McDowell Award’,
year: 1976,
by: ‘IEEE Computer Society’
},
{
award: ‘National Medal of Technology’,
year: 1991,
by: ‘United States’
}
]
},
{
_id: 4,
name: { first: ‘Kristen’, last: ‘Nygaard’ },
birth: new Date(‘Aug 27, 1926’),
death: new Date(‘Aug 10, 2002’),
contribs: [ ‘OOP’, ‘Simula’ ],
awards: [
{
award: ‘Rosing Prize’,
year: 1999,
by: ‘Norwegian Data Association’
},
{
award: ‘Turing Award’,
year: 2001,
by: ‘ACM’
},
{
award: ‘IEEE John von Neumann Medal’,
year: 2001,
by: ‘IEEE’
}
]
},
{
_id: 5,
name: { first: ‘Ole-Johan’, last: ‘Dahl’ },
birth: new Date(‘Oct 12, 1931’),
death: new Date(‘Jun 29, 2002’),
contribs: [ ‘OOP’, ‘Simula’ ],
awards: [
{
award: ‘Rosing Prize’,
year: 1999,
by: ‘Norwegian Data Association’
},
{
award: ‘Turing Award’,
year: 2001,
by: ‘ACM’
},
{
award: ‘IEEE John von Neumann Medal’,
year: 2001,
by: ‘IEEE’
}
]
}
]
);
db.bios.insert(
{
name: { first: ‘John’, last: ‘McCarthy’ },
birth: new Date(‘Sep 04, 1927’),
death: new Date(‘Dec 24, 2011’),
contribs: [ ‘Lisp’, ‘Artificial Intelligence’, ‘ALGOL’ ],
awards: [
{
award: ‘Turing Award’,
year: 1971,
by: ‘ACM’
},
{
award: ‘Kyoto Prize’,
year: 1988,
by: ‘Inamori Foundation’
},
{
award: ‘National Medal of Science’,
year: 1990,
by: ‘National Science Foundation’
}
]
}
)
c = db.bios.find( { name: { first: ‘John’, last: ‘McCarthy’ } } );
while((c.hasNext())) printjson(c.next())
網(wǎng)友評(píng)論