麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

mongodb的寫操作

2020-03-14 12:37:38
字體:
來源:轉載
供稿:網友

使用插入數據命令:

>insert

需要注意的是,如果插入一文件(現在理解,nosql 類型的db數據不能說是記錄了,它是已文件作為單位,而傳統型的關系型數據庫,我們說是插入一條記錄),如果沒有帶人_id,那么會自動生成一個唯一的id,這個id好比關系型數據庫里的主鍵一樣。

如果是自己指定id,那么必須id是唯一的,這點關系型和nosql型都必須要求的;

數據字段的名字不能包含$ 和.

在敲了一陣發現,擦,我要是再shell里面去編寫復雜的插入語句,就shell的這種一行一句,不搞死我去啊。我想它肯定是支持向bat這種批處理或者其他,看它語法和js一模一樣,于是大膽猜測它使用的就是javascript,于是我就用notepad++來編輯這些插入命令,試著插入復雜的對象;

哦,另外說一句,如果這個bios數據不存在,那么要先使用

>use bios

生成一個數據庫,如果你不往這里插入一筆數據,mongoDB會自動刪除掉這個數據庫;

所以還要插入一筆讓mongodb維持這數據庫的任意數據

>db.bios.insert({a:'a'})

mongodb,寫操作

編寫了一個insert.js腳步,放在安裝目錄的js文件夾下。于是這樣輸入:

>mongolocalhost:27017/bios f:/mongodb/js/insert.js

效果如圖

mongodb,寫操作

可以看到,這個js腳步成功執行;

要查詢這個文檔,輸入命令:

>db.bios.find({ name: { first: 'John', last: 'chen' } } );

有了js寫更多的語句,就方便多了。

Isert語句支持多個批量插入就像下面這樣:

Insert.js 語句:

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())

=================================================

Mongo還有個save方法,這個方法同樣也是插入數據。咋一樣是一樣的,仔細想想如果是一樣的,那干嘛不統一,于是想到了ORM模式中,數據的save方法中,如果要保存的數據已存在,那么它知道是修改這個數據,如果不存在則是新增。同樣,這里save也是如此。

如果save方法帶了_id那么,如果數據庫中存在了此_id的文檔,那么,會修改原有數據,如果沒有,則新增,所以,不帶_id的save方法和insert是一樣的,但是Insert方法如果插入的是相同的Id,那么是不會插入的;

更新操作,傳統的數據庫更新操作,必須是更新的數據已經存在,要不然你想,你數據記錄都不在便要更新,這不扯淡嗎,但是,mongodb卻可以這樣,如果要更新的數據不存在,那么便插入這文檔數據;

更新語法:

db.collection.update(<query>,<update>, { upsert: true } )

如果是更新具體某個,那么帶_id的save方法同樣可以完成更新任務;

mongodb,寫操作

查詢可發現改變的數據:

>c =db.bios.find( { name: { first: 'update', last: 'update' } } );>while((c.hasNext()))printjson(c.next())

mongodb,寫操作

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级α片免费看刺激高潮视频 | 依依成人综合 | 一本色道精品久久一区二区三区 | 爱操视频 | 精品一区在线视频 | 黑人一区二区 | av免费入口| 色阁五月 | 亚洲第一成av人网站懂色 | 欧美ab| 草操影院| 欧美综合日韩 | 国产精品一区二区三区99 | 亚洲最大中文字幕 | 国产亚洲精品久久久久久久久久 | 成人性爱视频在线观看 | 久久撸视频| 成人福利软件 | 欧美性色大片 | 激情小说激情图片激情电影 | 精品一区二区久久久 | 青青青在线免费 | 成年免费在线视频 | 日本中文字幕电影在线观看 | 爱高潮www亚洲精品 欧美黄色一级片视频 | 国产精品1区2区在线观看 | lutube成人福利在线观看 | 国产永久免费观看 | 日日草夜夜草 | 午夜精品久久久久久久久久久久久蜜桃 | 久久成人免费网 | 国产乱淫av一区二区三区 | 亚洲九色 | 国产精品成人亚洲一区二区 | 热@国产 | 九九热在线视频免费观看 | 真人一级毛片免费 | 中文在线观看www | 一级国产航空美女毛片内谢 | 精品黑人一区二区三区国语馆 | 毛片大全在线观看 |