欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1.mongodb官網(wǎng)

MongoDB: the application data platform | MongoDB

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

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

終端指令: npm install mongoose

4.

?5.

以管理員身份運行PowerShell cd到文件所在目錄 如果沒有開啟MongoDB的話?

使用net start mongodb 指令啟動

?6.

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

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

?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.集合名稱'' 2.集合規(guī)則
const Course = mongoose.model('Course', courseSchema);

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

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

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

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

?11. 通過ID字段查詢用戶集合中的某個文檔,返回數(shù)組

// todo 通過ID字段查詢用戶集合中的某個文檔 返回數(shù)組
Course.find({
_id:"619b0f75dc5e07d1b9924ee9"
})
.then(result =>{console.log(result)})

?12. 根據(jù)條件查找文檔 如果不寫條件返回數(shù)據(jù)庫中的第一條文檔 返回一個對象

// todo 根據(jù)條件查找文檔 如果不寫條件返回數(shù)據(jù)庫中的第一條文檔 返回一個對象
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. 查詢包含

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

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

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

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

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

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

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

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

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

??19. ?更新單個文檔 里面?zhèn)鲀蓚€對象 ,隔開 第一個對象是查詢條件 第二個要改的值

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

? ?20. ?更新多個文檔 里面?zhèn)鲀蓚€對象 ,隔開 第一個對象是查詢條件 第二個要改的值

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

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

?針對String類型字段? ? ??required: [true,'錯誤說明']? ?必傳字段??

??針對String類型字段? ? ??minlength: [n,'錯誤說明']? ? ?? 最小字段長度

?針對String類型字段? ? ???maxlength: [n,'錯誤說明']? ? ? 最大字段長度

??針對String類型字段? ? ??trim:true? ? ? ?//去除字符串兩頭的空格

??針對Number類型字段? ? ??min: [n,'錯誤說明']? ? ?? 最小數(shù)值

?針對Number類型字段? ? ???max: [n,'錯誤說明']? ? ? 最大數(shù)值

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

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

?自定義錯誤信息時的格式

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

?控制臺獲取錯誤信息

?

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

相關(guān)文章

  • 詳解MongoDB的角色管理

    詳解MongoDB的角色管理

    這篇文章主要介紹了詳解MongoDB的角色管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB實現(xiàn)創(chuàng)建刪除數(shù)據(jù)庫、創(chuàng)建刪除表(集合 )、數(shù)據(jù)增刪改查

    MongoDB實現(xiàn)創(chuàng)建刪除數(shù)據(jù)庫、創(chuàng)建刪除表(集合 )、數(shù)據(jù)增刪改查

    這篇文章介紹了MongoDB實現(xiàn)創(chuàng)建刪除數(shù)據(jù)庫、創(chuàng)建刪除表(集合 )、數(shù)據(jù)增刪改查的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 老生常談MongoDB數(shù)據(jù)庫基礎(chǔ)操作

    老生常談MongoDB數(shù)據(jù)庫基礎(chǔ)操作

    下面小編就為大家?guī)硪黄仙U凪ongoDB數(shù)據(jù)庫基礎(chǔ)操作。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • centos8安裝MongoDB的詳細(xì)過程

    centos8安裝MongoDB的詳細(xì)過程

    MongoDB由MongoDB Inc開發(fā),并根據(jù)SSPL(服務(wù)器端公共許可證)進行分發(fā),是一個開源,跨平臺,面向文檔的數(shù)據(jù)庫管理系統(tǒng),本文重點給大家介紹centos8安裝MongoDB的詳細(xì)過程,感興趣的朋友一起看看吧
    2021-10-10
  • MongoDB操作之日期轉(zhuǎn)換方式(string、ISODate、時間戳)

    MongoDB操作之日期轉(zhuǎn)換方式(string、ISODate、時間戳)

    這篇文章主要介紹了MongoDB操作之日期轉(zhuǎn)換方式(string、ISODate、時間戳),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MongoDB中aggregate()方法實例詳解

    MongoDB中aggregate()方法實例詳解

    MongoDB中聚合(aggregate)主要用于處理數(shù)據(jù)(諸如統(tǒng)計平均值,求和等),并返回計算后的數(shù)據(jù)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于MongoDB中aggregate()方法的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MongoDB常用操作匯總

    MongoDB常用操作匯總

    MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。MongoDB 旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
    2017-05-05
  • MongoDB安全及身份認(rèn)證(實例講解)

    MongoDB安全及身份認(rèn)證(實例講解)

    下面小編就為大家?guī)硪黄狹ongoDB安全及身份認(rèn)證(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • MongoDB如何查詢耗時記錄的方法詳解

    MongoDB如何查詢耗時記錄的方法詳解

    查詢操作是我們?nèi)粘2僮鲾?shù)據(jù)庫經(jīng)常會遇到的一個功能,下面這篇文章主要給大家介紹了關(guān)于MongoDB如何查詢耗時記錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • mongodb driver使用代碼詳解

    mongodb driver使用代碼詳解

    MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫,由 C++ 語言編寫,這篇文章主要介紹了mongodb driver使用,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論