最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB連接數(shù)據(jù)庫(kù)并創(chuàng)建數(shù)據(jù)等使用方法

 更新時(shí)間:2021年11月24日 15:34:47   作者:郭紹琦  
MongoDB?是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。接下來(lái)通過(guò)本文給大家介紹MongoDB連接數(shù)據(jù)庫(kù)并創(chuàng)建數(shù)據(jù)等使用方法,感興趣的朋友一起看看吧

1.mongodb官網(wǎng)

MongoDB: the application data platform | MongoDB

2.進(jìn)入MongoDB官網(wǎng)下載MongoDB以及MongoDB compass 和Mongodb--database--tools

3.nodejs操作MongoDB數(shù)據(jù)庫(kù)需要依賴(lài)nodejs的第三方包mongoose?

終端指令: npm install mongoose

4.

?5.

以管理員身份運(yùn)行PowerShell cd到文件所在目錄 如果沒(méi)有開(kāi)啟MongoDB的話?

使用net start mongodb 指令啟動(dòng)

?6.

//引入mongoose模塊
const mongoose = require('mongoose');
// console.log(mongoose);
 
//todo 連接數(shù)據(jù)庫(kù)
mongoose.connect('mongodb://localhost/test001')
    .then(() => console.log('數(shù)據(jù)庫(kù)鏈接成功'))
    .catch(erro => console.log('連接失敗'))

7.在vscode的集成終端中cd到文件所在目錄,使用nodemon 'node 02.js'指令打開(kāi)文件

?8. 設(shè)定集合規(guī)則 創(chuàng)建集合并應(yīng)用規(guī)則

//todo 設(shè)定集合規(guī)則
const courseSchema = new mongoose.Schema({
    name: String,
    author: String,
    isPublished: Boolean
});
// todo 創(chuàng)建集合并應(yīng)用規(guī)則
// todo 1.集合名稱(chēng)'' 2.集合規(guī)則
const Course = mongoose.model('Course', courseSchema);

??9. 創(chuàng)建集合實(shí)例document的兩種方式

// todo 第一種方式   創(chuàng)建集合實(shí)例 文檔document
const course = new Course({
    name:'xiaoguo',
    author:'aaa',
    tags:['node','backend'],
    isPublished:false
})
// 將數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中
course.save();
 
 
 
//todo 第二種方式 創(chuàng)建文檔 不需要使用course.save()方式保存,會(huì)自動(dòng)保存進(jìn)數(shù)據(jù)庫(kù)
Course.create({
    name:'xiaowei',
    author:'sh',
    isPublished:true
},(erro,data)=>{
    console.log(erro);
    console.log(data)
});
//也支持promise對(duì)象
Course.create({
    name:'xiaoli',
    author:'zz',
    isPublished:true
}).then(data=> console.log(data))
.catch(erro=>console.log(erro))

?10. 查詢(xún)用戶(hù)集合中的所有文檔,返回的是一個(gè)數(shù)組

// todo 查詢(xún)用戶(hù)集合中的所有文檔 返回的是一個(gè)數(shù)組
Course.find()
.then(result =>{console.log(result)})

?11. 通過(guò)ID字段查詢(xún)用戶(hù)集合中的某個(gè)文檔,返回?cái)?shù)組

// todo 通過(guò)ID字段查詢(xún)用戶(hù)集合中的某個(gè)文檔 返回?cái)?shù)組
Course.find({
_id:"619b0f75dc5e07d1b9924ee9"
})
.then(result =>{console.log(result)})

?12. 根據(jù)條件查找文檔 如果不寫(xiě)條件返回?cái)?shù)據(jù)庫(kù)中的第一條文檔 返回一個(gè)對(duì)象

// todo 根據(jù)條件查找文檔 如果不寫(xiě)條件返回?cái)?shù)據(jù)庫(kù)中的第一條文檔 返回一個(gè)對(duì)象
Course.findOne({
    name:'xiaowei'
})
.then(result=>console.log(result))

13. 根據(jù)范圍條件查找文檔 $gt 最小值 $lt最大值

// todo 根據(jù)范圍條件查找文檔
Course.find({
    age: { $gt: 20, $lt: 50 }
})
.then(result => console.log(result))

?14. 查詢(xún)包含

// todo 根據(jù)范圍條件查找文檔
Course.find({
    name: { $in: ['xiao'] }
})
.then(result => console.log(result))

?15. 選擇要查詢(xún)的字段并排序 默認(rèn)升序 降序加個(gè)-

// todo 選擇要查詢(xún)的字段 (升序)
Course.find().select('name age')
//相反的順序用.sort('-age') (降序)
.then(result => console.log(result))

??16. ?skip跳過(guò)前兩條數(shù)據(jù) limit限制查詢(xún)數(shù)量

// todo skip跳過(guò)前兩條數(shù)據(jù) limit限制查詢(xún)數(shù)量
Course.find().skip(2).limit(2)
.then(result => console.log(result))

? ?17. ?查找一個(gè)文檔并刪除文檔 返回值是刪除的文檔 如果匹配到多個(gè)文檔 只刪除第一個(gè)

// todo 查找一個(gè)文檔并刪除文檔 返回值是刪除的文檔 如果匹配到多個(gè)文檔 只刪除第一個(gè)
Course.findOneAndDelete({
   _id:"619b0f75dc5e07d1b9924ee9"
})
.then(result=>console.log(result))

?18. ?刪除多個(gè)文檔 ?返回一個(gè)對(duì)象 {n:刪除的文檔數(shù)量 ok:1(刪除成功)}

// todo 刪除多個(gè)文檔  返回一個(gè)對(duì)象 {n:刪除的文檔數(shù)量 ok:1(刪除成功)}
Course.deleteMany({
   _id:"619b0f75dc5e07d1b9924ee9"
})
.then(result=>console.log(result))

??19. ?更新單個(gè)文檔 里面?zhèn)鲀蓚€(gè)對(duì)象 ,隔開(kāi) 第一個(gè)對(duì)象是查詢(xún)條件 第二個(gè)要改的值

// todo 更新單個(gè)文檔 里面?zhèn)鲀蓚€(gè)對(duì)象 ,隔開(kāi) 第一個(gè)對(duì)象是查詢(xún)條件 第二個(gè)要改的值
Course.updateOne(
{name:'xiaoguo'},
{name:'xiaoguoguo'}
)
.then(result=>console.log(result))

? ?20. ?更新多個(gè)文檔 里面?zhèn)鲀蓚€(gè)對(duì)象 ,隔開(kāi) 第一個(gè)對(duì)象是查詢(xún)條件 第二個(gè)要改的值

// todo 更新多個(gè)文檔 里面?zhèn)鲀蓚€(gè)對(duì)象 ,隔開(kāi) 第一個(gè)對(duì)象是查詢(xún)條件 第二個(gè)要改的值
Course.updateMany(
{},
{age:18}
)
.then(result=>console.log(result))

? ??21.?設(shè)置mongoose驗(yàn)證

?針對(duì)String類(lèi)型字段? ? ??required: [true,'錯(cuò)誤說(shuō)明']? ?必傳字段??

??針對(duì)String類(lèi)型字段? ? ??minlength: [n,'錯(cuò)誤說(shuō)明']? ? ?? 最小字段長(zhǎng)度

?針對(duì)String類(lèi)型字段? ? ???maxlength: [n,'錯(cuò)誤說(shuō)明']? ? ? 最大字段長(zhǎng)度

??針對(duì)String類(lèi)型字段? ? ??trim:true? ? ? ?//去除字符串兩頭的空格

??針對(duì)Number類(lèi)型字段? ? ??min: [n,'錯(cuò)誤說(shuō)明']? ? ?? 最小數(shù)值

?針對(duì)Number類(lèi)型字段? ? ???max: [n,'錯(cuò)誤說(shuō)明']? ? ? 最大數(shù)值

?設(shè)置時(shí)間默認(rèn)值 當(dāng)用戶(hù)未傳此字段的數(shù)據(jù)時(shí) 啟用當(dāng)前時(shí)間為默認(rèn)值?

?列舉出當(dāng)前字段可以取的值,必須在范圍內(nèi)上傳

?自定義錯(cuò)誤信息時(shí)的格式

制定規(guī)則驗(yàn)證用戶(hù)傳入的值的屬性是否符合規(guī)范 自定義錯(cuò)誤信息 message?

?控制臺(tái)獲取錯(cuò)誤信息

?

到此這篇關(guān)于MongoDB連接數(shù)據(jù)庫(kù)并創(chuàng)建數(shù)據(jù)等使用方法的文章就介紹到這了,更多相關(guān)MongoDB連接數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MongoDB中的常用操作$push、$pushAll和$pull示例詳解

    MongoDB中的常用操作$push、$pushAll和$pull示例詳解

    MongoDB從2.2版本開(kāi)始支持$push操作符,$push是用于在數(shù)組中添加一個(gè)元素的更新操作符,它將指定的值追加到數(shù)組的末尾,本文給大家介紹MongoDB的常用操作$push、$pushAll和$pull,感興趣的朋友一起看看吧
    2023-12-12
  • MongoDB數(shù)據(jù)庫(kù)常用28條查詢(xún)語(yǔ)句總結(jié)

    MongoDB數(shù)據(jù)庫(kù)常用28條查詢(xún)語(yǔ)句總結(jié)

    我們經(jīng)常使用的MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),隨著時(shí)代的進(jìn)步,互聯(lián)網(wǎng)的發(fā)展關(guān)系型數(shù)據(jù)庫(kù)已經(jīng)不滿(mǎn)足于互聯(lián)網(wǎng)的需求,因此出現(xiàn)了非關(guān)系數(shù)據(jù)庫(kù),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MongoDB數(shù)據(jù)庫(kù)常用28條查詢(xún)語(yǔ)句,需要的朋友可以參考下
    2023-05-05
  • yum源安裝mongodb圖文教程

    yum源安裝mongodb圖文教程

    本文給大家介紹的是使用yum源安裝MongoDB的詳細(xì)的圖文教程,小伙伴們跟著教程一步步操作即可,希望大家喜歡
    2018-09-09
  • MongoDB在不同主機(jī)間復(fù)制數(shù)據(jù)庫(kù)和集合的教程

    MongoDB在不同主機(jī)間復(fù)制數(shù)據(jù)庫(kù)和集合的教程

    MongoDB自帶了clone一族JavaScript函數(shù)來(lái)進(jìn)行數(shù)據(jù)的復(fù)制,這里我們總結(jié)了MongoDB在不同主機(jī)間復(fù)制數(shù)據(jù)庫(kù)和集合的教程,列舉出了一些主從復(fù)制操作中常用的重要函數(shù):
    2016-07-07
  • mongodb增量/全量備份腳本的實(shí)現(xiàn)詳解

    mongodb增量/全量備份腳本的實(shí)現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于mongodb增量/全量備份腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 解決mongo的tickets被耗盡導(dǎo)致卡頓問(wèn)題

    解決mongo的tickets被耗盡導(dǎo)致卡頓問(wèn)題

    這篇文章主要介紹了解決mongo的tickets被耗盡導(dǎo)致卡頓問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Mongodb?刪除集合數(shù)據(jù)后釋放磁盤(pán)空間的操作步驟

    Mongodb?刪除集合數(shù)據(jù)后釋放磁盤(pán)空間的操作步驟

    Mongodb當(dāng)集合數(shù)據(jù)占用比較多,對(duì)其進(jìn)行清理后,集合存儲(chǔ)空間下降,但磁盤(pán)空間并沒(méi)釋放,對(duì)于具有活動(dòng)更新的集合來(lái)說(shuō),有一些可重用的空間是正常的,過(guò)多的可重用空間通常是刪除大量數(shù)據(jù)的結(jié)果,這篇文章主要介紹了Mongodb?刪除集合數(shù)據(jù)后如何釋放磁盤(pán)空間,需要的朋友可以參考下
    2023-11-11
  • mongodb數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)之連表查詢(xún)

    mongodb數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)之連表查詢(xún)

    這篇文章主要給大家介紹了關(guān)于mongodb數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)之連表查詢(xún)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Ubuntu 14.04  安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹

    Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹

    這篇文章主要介紹了Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Windows下MongoDB配置用戶(hù)權(quán)限實(shí)例

    Windows下MongoDB配置用戶(hù)權(quán)限實(shí)例

    這篇文章主要介紹了Windows下MongoDB配置用戶(hù)權(quán)限實(shí)例,本文實(shí)現(xiàn)需要輸入用戶(hù)名、密碼才可以訪問(wèn)MongoDB數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2015-01-01

最新評(píng)論

江西省| 苏尼特左旗| 保亭| 怀宁县| 江口县| 从江县| 马边| 舟山市| 古田县| 安龙县| 扶风县| 曲阜市| 政和县| 延寿县| 乐昌市| 新平| 应城市| 灵台县| 望奎县| 盐城市| 上犹县| 迁西县| 巍山| 白河县| 仲巴县| 桂阳县| 新沂市| 墨玉县| 大田县| 教育| 长垣县| 安溪县| 巴中市| 河间市| 平安县| 临潭县| 浪卡子县| 文登市| 平凉市| 侯马市| 上高县|