
作者:天津九安特機電工程有限公司 來(lái)源: 天津九安特機電工程有限公司 日期:2026-05-05 09:28:31
本文分享了一年來(lái)使用MongoDB的用小用操常用操作,包括shell登錄、結常數據庫和集合顯示、作分文檔的用小用操增刪改查等,適合從入門(mén)到熟練的結常讀者參考。
MongoDB實(shí)戰技巧:常用操作與使用小結
MongoDB作為(???)一款高性能、作分可擴展的用(′▽?zhuān)?小用操開(kāi)源N(?????)oSQL數據庫,受到越來(lái)越(′?`*)多開(kāi)發(fā)者的結常青睞,它支持豐富的作分數據類(lèi)型和靈活的查詢(xún)語(yǔ)言,為開(kāi)發(fā)人員提供了便捷的用小用操數據存儲解決方案,本文將分享一些MongoD??B的結常常用操作,幫助大家更好地掌握這門(mén)技術(shù)。作分
在介紹常用操作之前,我們先了解一些MongoDB的結?;靖拍睿?/p>
1、數據庫(Database):MongoDB中可以創(chuàng )建多個(gè)數據庫,作分每個(gè)數(shu)據庫都有自己的集合(he)和權限。
2、集合(Collection):類(lèi)似于(yu)關(guān)系型ヾ(^-^)ノ數據庫中的表,用于存儲文( ???)檔。
4、字段(Field):文檔中的鍵值對,表示文檔的一個(gè)屬性。
5、索引(Inヾ(′ω`)?dex):用于提高查詢(xún)效率,MongoDB支持多種索引類(lèi)型。
1、數據庫操作
(1)創(chuàng )建數ヽ(′ー`)ノ據庫
MongoDB不需要顯式創(chuàng )建數(′_`)據庫,當第一次向數據庫中插入數據時(shí),數據庫會(huì )自動(dòng)創(chuàng )建。
db = db.getSiblingDB('myNewDB')(2)查看所有數據庫??
show dbs
(3)切換數據庫
use myNewDBdb.d??ropDatabase()2、集合操作
(1)創(chuàng )建集ヾ(^-^)ノ合
db.c(//ω//)reateCollection('myNewCollection')(2)查看所有集合
show collections
(3)刪除集合
db.myNewCollection.drop()3、文檔操作
(1)ヾ(^-^)ノ插入文檔
db.myN??ewCollection.insert({ name: '張三', age: 30})或者使用 db.collection.insertOne() 和 db.collection.insertMany() 方法。
(2)查詢(xún)文檔
db.myNewCollection.find({ name: '張三( ?▽?)'})(3)更新文檔
db.myNewCollection.update({ name: '張三'}, { $set: { age: 35}})或者使用 db.collection.updateOne() 和 db.collection.updateMany() 方法。
(4)刪除文檔
db.myNewCollecti(′?`*)on.remove({ name: '張三'})或者使用 db.collection.deleteOne() 和 db???.collection.deleteMany() 方法。
4、索引操作
(1)創(chuàng )建索引
db.myNewCollection.cr???eateIndex({ name: 1})(2)查看索引
db.myNewCollection.getIndexes()
(3)刪除索引
db.myNewCollection.dropIndex({ name: 1})1、聚合操作
MongoDB的聚合??框架允許用戶(hù)對集合中的數據進(jìn)行分組、過(guò)濾、排序等操作,以下是一個(gè)簡(jiǎn)單的聚合查詢(xún)示例:
db.myNewCollection.aggregate([ { $match: { age: { $gte: 30 } } }, { $group: { _id: "$name", total: { $sum: 1 } } }, { $sort: { total: -1 } }])2、Map??Reduce操作
M??apReduce是一種計算模型,用于處理大(da)規模數據集,MongoDB支持MapReduce操作,以下是一個(gè)簡(jiǎn)單的示例:
var mapFunction = function() { emit(this.??name, this.age);};var reduceFunction = function(key, values) { return Array.sum(values);};db.myNewCollection.mapReduce( mapFunction, reduceFunc(???)tio(???)n, { out: "mapReduceOutput" })3、復制集和分片
(1)復制集:通過(guò)復制集,可以在多臺服務(wù)器上(shang)冗余數據,提高數據的?可用性和可靠性。
rs.initiate({ _id: "myReplicaSet", members??: [ { _id: 0, hos??t: "(O_O)localhost:27017" }, { _id:(′?_?`) 1, host: "??;localhost:27018" }, { _id: 2, host: "localhost:27019" } ]})(2)分片:通過(guò)分片,可以將數據分布在多臺服務(wù)器上,實(shí)現水平擴展。
sh.addS(′▽?zhuān)?hard(??"localhost:27017")sh.addShard("localhost:27018")sh.addShard("lo??calhost:27019")sh.enableSharding("myNewDB")sh.shardCollection("myNewDB.myNewCoヽ(′?`)ノllection", { name: 1})MongoDB作為一款強大的NoSQL數據庫,提供了豐富的數據操作接口,本文介紹了MongoDB的基本概念、常用操作和高級操作,希望對大家在實(shí)際開(kāi)發(fā)過(guò)程中有所幫助,需要注意的是,Mong??oDB的版本更新較快,不同版本的A???P( ?▽?)I可能存在差異,請根據實(shí)際需求選擇合適的版本。