MongoDB数据库基本操作

本文介绍了MongoDB的基本操作,包括查看、切换及删除数据库的方法,同时提供了详细的命令示例,帮助读者快速掌握MongoDB的使用。

MongoDB数据库基本操作

查看当前数据库

MongoDB shell version: 1.8 . 1
connecting to:test
>  db
test

 

查看全部数据库列表

> show dbs
ChatRoom    0.03125GB
admin       (empty)
local       (empty)

 

切换数据库

> use ChatRoom
switched to db ChatRoom
> db
ChatRoom

 

删除数据库

复制代码
> db
ChatRoom
> show dbs
ChatRoom    0.03125GB
admin       (empty)
local       (empty)
> db.dropDatabase()
{
" dropped " : " ChatRoom " , " ok " : 1 }
> show dbs
admin       (empty)
local       (empty)
复制代码

 

 MongoDB帮助主题help

复制代码
> help
        db.help()                    help on db methods
        db.mycoll.help()             help on collection methods
        rs.help()                    help on replica set methods
        help connect                 connecting to a db help
        help admin                   administrative help
        help misc                    misc things to know
        help mr                      mapreduce help

        show dbs                     show database names
        show collections             show collections 
in  current database
        show users                   show users 
in  current database
        show profile                 show most recent system.profile entries with time
>=  1ms
        use 
< db_name >                 set current database
        db.foo.find()                list objects 
in  collection foo
        db.foo.find( { a : 
1  } )     list objects  in  foo where a  ==   1
        it                           result of the last line evaluated; use to furtheriterate
        DBQuery.shellBatchSize 
=  x   set default number of items to display on shell
        exit                         quit the mongo shell
复制代码

 

复制代码
>  db.help()
DB methods:
        db.addUser(username, password[, readOnly
= false])
        db.auth(username, password)
        db.cloneDatabase(fromhost)
        db.commandHelp(name) returns the help 
for  the command
        db.copyDatabase(fromdb, todb, fromhost)
        db.createCollection(name, { size : ..., capped : ..., max : ... } )
        db.currentOp() displays the current operation 
in  the db
        db.dropDatabase()
        db.eval(func, args) run code server
- side
        db.getCollection(cname) same as db[
' cname ' or  db.cname
        db.getCollectionNames()
        db.getLastError() 
-  just returns the err msg string
        db.getLastErrorObj() 
-   return  full status object
        db.getMongo() get the server connection object
        db.getMongo().setSlaveOk() allow this connection to read 
from  the nonmaster member of a replica pair
        db.getName()
        db.getPrevError()
        db.getProfilingLevel() 
-  deprecated
        db.getProfilingStatus() 
-  returns  if  profiling  is  on  and  slow threshold
        db.getReplicationInfo()
        db.getSiblingDB(name) get the db at the same server as this one
        db.isMaster() check replica primary status
        db.killOp(opid) kills the current operation 
in  the db
        db.listCommands() lists all the db commands
        db.printCollectionStats()
        db.printReplicationInfo()
        db.printSlaveReplicationInfo()
        db.printShardingStatus()
        db.removeUser(username)
        db.repairDatabase()
        db.resetError()
        db.runCommand(cmdObj) run a database command.  
if  cmdObj  is  a string, turns it into { cmdObj :  1  }
        db.serverStatus()
        db.setProfilingLevel(level,
< slowms > ) 0 = off  1 = slow  2 = all
        db.shutdownServer()
        db.stats()
        db.version() current version of the server
        db.getMongo().setSlaveOk() allow queries on a replication slave server
<think>首先,用户的问题是“Mongodb数据库基本操作”,我需要用中文回答问题。主题是MongoDB数据库基本操作。 我的回答应该包括对MongoDB基本操作的简要解释。关键点可能包括: - MongoDB是一个NoSQL数据库,使用文档存储。 - 基本操作如创建数据库、创建集合、插入文档、查询文档、更新文档、删除文档等。 - 使用MongoDB Shell或驱动程序来执行这些操作。 我需要保持回答简洁,因为用户没有指定详细程度,但要覆盖基本操作。 现在,根据规则,在回答完问题后,我必须提出3-5个相关问题。这些必须以“§§相关问题§§”开头,并且必须输出在回答的末尾。第一行必须完整输出 "§§相关问题§§",禁止换行分散。相关问题应该基于用户的问题和我的回答。 从示例中,问题是这样格式化的: §§相关问题§§ 1. ··· 2. ··· 3. ··· 所以,我需要确保在回答的最后部分输出这个。 步骤: 1. 写回答:用中文解释MongoDB基本操作。可能包括代码示例(如示例中有Python代码),但用户的问题是关于基本操作,所以我可以简单描述,或用伪代码。 在示例中,他们提供了Python代码,所以我应该提供类似的代码示例。MongoDB通常用JavaScript在shell中,但也可以使用其他语言。示例是用Python,所以我可以用Python代码来展示基本操作。 用户指定了“请使用中文回答问题”,所以整个回答包括代码注释都应该用中文。 结构回答: - 先简要介绍MongoDB。 - 然后列出并描述基本操作。 - 提供代码示例,如插入、查询等。 - 最后,输出“§§相关问题§§”并列出3-5个问题。 相关问题:基于主题提出相关的问题。例如: - MongoDB与其他数据库的区别? - 如何安装MongoDB? - 如何处理错误? - 更多高级操作如索引、聚合等。 确保3-5个。 现在,写回答: **回答部分:** MongoDB 是一个开源的 NoSQL 数据库,使用文档存储数据。基本操作包括: - 创建数据库:使用 `use <database_name>` 在 Mongo shell 中。 - 创建集合:类似表,`db.createCollection("collection_name")`。 - 插入文档:`db.collection.insertOne({"key": "value"})` 或 `insertMany()`。 - 查询文档:`db.collection.find({})`。 - 更新文档:`db.collection.updateOne()` 或 `updateMany()`。 - 删除文档:`db.collection.deleteOne()` 或 `deleteMany()`。 提供代码示例,如示例有Python代码。示例是用Python,所以我可以用Python和PyMongo驱动。 但在示例中,用户提供了Python代码,所以我应该类似。 例如: 使用 Python 和 PyMongo 驱动: ```python from pymongo import MongoClient # 连接到 MongoDB client = MongoClient('mongodb://localhost:27017/') db = client['test_db'] # 选择数据库 collection = db['test_collection'] # 选择集合 # 插入文档 result = collection.insert_one({"name": "Alice", "age": 30}) print("Inserted ID:", result.inserted_id) # 查询文档 doc = collection.find_one({"name": "Alice"}) print(doc) # 更新文档 collection.update_one({"name": "Alice"}, {"$set": {"age": 31}}) # 删除文档 collection.delete_one({"name": "Alice"}) ``` 确保注释用中文:在代码中,注释应该用中文,因为回答要用中文。 用户说“请使用中文回答问题”,所以整个回答包括代码注释都应该用中文。 所以,在代码中添加中文注释。 **结束回答后:** 输出 "§§相关问题§§" 然后列出问题。 相关问题例子: 1. MongoDB 与其他 NoSQL 数据库(如 Redis)有什么区别? 2. 如何在 MongoDB 中创建索引以提高查询性能? 3. MongoDB 的聚合框架是什么,如何使用? 4. 如何备份和恢复 MongoDB 数据库? 5. MongoDB 的安全性措施有哪些? 确保3-5个。 完整回答结构: - 文字解释。 - 代码示例。 - 相关问题。 现在,编译。 </think>MongoDB 是一个开源的 NoSQL 数据库,使用文档存储模型(BSON 格式),适合处理非结构化数据。其基本操作包括创建数据库、创建集合、插入文档、查询文档、更新文档和删除文档等。通常通过 MongoDB Shell 或驱动程序(如 Python 的 PyMongo)执行。以下是关键操作概述及 Python 代码示例: 1. **连接到 MongoDB**:使用 PyMongo 驱动建立连接。 2. **创建/选择数据库**:直接指定数据库名即可创建或选择。 3. **创建集合**:类似表,用于存储文档。 4. **插入文档**:添加单个或多个文档。 5. **查询文档**:查找特定文档。 6. **更新文档**:修改现有文档。 7. **删除文档**:移除文档。 ```python from pymongo import MongoClient # 步骤 1: 连接到 MongoDB 服务器(默认端口 27017) client = MongoClient('mongodb://localhost:27017/') # 步骤 2: 创建或选择数据库(如果不存在则自动创建) db = client['my_database'] # 数据库名称为 'my_database' # 步骤 3: 创建或选择集合(类似表) collection = db['my_collection'] # 集合名称为 'my_collection' # 步骤 4: 插入文档(单个文档) insert_result = collection.insert_one({"name": "John", "age": 25, "city": "Beijing"}) print("插入文档 ID:", insert_result.inserted_id) # 输出插入的文档 ID # 步骤 5: 查询文档(查找所有文档) query_result = collection.find({"city": "Beijing"}) # 查询 city 为 Beijing 的文档 for doc in query_result: print("查询结果:", doc) # 步骤 6: 更新文档(修改 age 字段) update_result = collection.update_one({"name": "John"}, {"$set": {"age": 26}}) print("更新文档数:", update_result.modified_count) # 输出更新的文档数量 # 步骤 7: 删除文档(删除特定文档) delete_result = collection.delete_one({"name": "John"}) print("删除文档数:", delete_result.deleted_count) # 输出删除的文档数量 ``` 以上操作展示了 MongoDB 的核心功能,实际使用中可结合 Shell 命令(如 `db.collection.find()`)或其他语言驱动实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值