MongoDB数据库常用28条查询语句总结
1. 数据库操作
创建/使用数据库
通过 use
关键字可以选择或创建数据库,例如 use mydb
将会创建名称为 mydb
的数据库并使用它。
查看所有数据库
执行 show dbs
可以查看所有的数据库列表。
删除数据库
执行 db.dropDatabase()
可以删除当前数据库。
2. 集合操作
创建集合
使用 db.createCollection(name, options)
方法可以创建集合,例如 db.createCollection('user')
创建名称为 user
的集合。
查看集合
通过 show collections
命令可以查看当前数据库的所有集合。
删除集合
执行 db.collection_name.drop()
可以删除指定的集合,例如 db.user.drop()
将会删除名称为 user
的集合。
3. 文档操作
插入文档
使用 db.collection_name.insert(document)
方法可以插入新的文档,例如 db.user.insert({name: 'John', age: 30})
将会向 user
集合插入一条新文档。
查询文档
使用 db.collection_name.find(query, projection)
方法可以查询文档,其中 query
为查询条件,projection
为筛选字段,例如 db.user.find({name: 'John'}, {name: 1})
将会查询 user
集合中名为 John
的文档,只返回 name
字段。
更新文档
使用 db.collection_name.update(query, update, options)
方法可以更新文档,其中 query
为更新条件,update
为更新内容,options
为更新选项,例如 db.user.update({name: 'John'}, {$set: {age: 31}})
将会将名为 John
的文档中的 age
字段更新为 31。
删除文档
使用 db.collection_name.remove(query)
方法可以删除文档,其中 query
为删除条件,例如 db.user.remove({name: 'John'})
将会删除 user
集合中名为 John
的文档。
示例1
假设有一个名为 books
的集合,其中每个文档包含以下字段:
_id
: ObjectId类型,自动生成的文档IDtitle
: 字符串类型,书名author
: 字符串类型,作者名price
: 数值类型,书的单价stock
: 数值类型,书的库存
要求查询价格低于50元或者库存少于10本的图书,并返回它们的书名和价格字段。
解决方法:
db.books.find({
$or: [
{price: {$lt: 50}},
{stock: {$lt: 10}}
]
},
{
title: 1,
price: 1,
_id: 0
})
输出示例:
{ "title" : "JavaScript入门", "price" : 38 }
{ "title" : "Node.js实战", "price" : 49 }
{ "title" : "Python爬虫入门", "price" : 32 }
{ "title" : "数据科学", "price" : 56 }
{ "title" : "C#基础教程", "price" : 45 }
{ "title" : "C++快速入门", "price" : 29 }
{ "title" : "Java高级开发", "price" : 58 }
示例2
假设有一个名为 users
的集合,其中每个文档包含以下字段:
_id
: ObjectId类型,自动生成的文档IDname
: 字符串类型,用户名age
: 数值类型,用户年龄gender
: 字符串类型,用户性别hobbies
: 数组类型,用户兴趣爱好列表(包含字符串类型的元素)
要求查询名为 John
的用户,并更新其兴趣爱好列表为 ['reading', 'swimming']
。
解决方法:
db.users.update({name: 'John'}, {$set: {hobbies: ['reading', 'swimming']}})
输出示例:更新成功返回 WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
,查询 db.users.find({name: 'John'})
返回 {"_id" : ObjectId("5fece5d2407c6a141c5738d5"), "name" : "John", "age" : 30, "gender" : "male", "hobbies" : [ "reading", "swimming" ]}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB数据库常用28条查询语句总结 - Python技术站