mongodb客户端操作语法笔记
2022/6/3 2:20:20
本文主要是介绍mongodb客户端操作语法笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
##登录连接: 进入客户端方法
D:\Program Files\MongoDB\Server\5.0\bin>mongo.exe
> db.runoob.insert({"name":"我的测试数据"})
WriteResult({ "nInserted" : 1 })
> show dbs #插入数据后可以显示,刚创建的空的db不会显示。
admin 0.000GB
config 0.000GB
local 0.000GB
runoob 0.000GB
> db.createCollection("mytable");
{ "ok" : 1 }
> show tables
mytable
runoob
> db.runoob.drop() #删除表
true
> show tables
mytable
> db.runoob.drop()
false
> db.mytable.drop() #删除表
true
> show tables #查询表 或者这个命令 show collections
> db.mycol2.insert({"name" : "菜鸟教程"}) #//在插入数据的时候,创建集合/表
WriteResult({ "nInserted" : 1 })
> show collections
mycol2
mytable
>
##插入单条记录且查询
> db.col.insert({title: 'MongoDB 教程',
... description: 'MongoDB 是一个 Nosql 数据库',
... by: '菜鸟教程',
... url: 'http://www.runoob.com',
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
WriteResult({ "nInserted" : 1 })
> show tables
col
mycol2
mytable
> db.col.find()
{ "_id" : ObjectId("629774960b8adde4a1c3248a"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
##定义变量的方式来添加
> document=({title: 'MongoDB 教程',
... description: 'MongoDB 是一个 Nosql 数据库',
... by: '菜鸟教程',
... url: 'http://www.runoob.com',
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... });
{
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
> db.col.insert(document)
WriteResult({ "nInserted" : 1 })
> db.col.find()
{ "_id" : ObjectId("629774960b8adde4a1c3248a"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("629774f50b8adde4a1c3248b"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
##save同insert命令
> db.col.save(document)
WriteResult({ "nInserted" : 1 })
## 修改语法:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
#默认一次修改一条数据
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB2'}})
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB3'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
##未找到记录,默认不新增
> db.col.update({'title':'MongoDB 教程NEW'},{$set:{'title':'MongoDB3'}})
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
##按格式输出
> db.col.find().pretty()
{
"_id" : ObjectId("629774960b8adde4a1c3248a"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
{
"_id" : ObjectId("629774f50b8adde4a1c3248b"),
"title" : "MongoDB2",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
{
"_id" : ObjectId("629775720b8adde4a1c3248c"),
"title" : "MongoDB3",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
>
#删除
>db.col.remove({'title':'MongoDB 教程'})
WriteResult({ "nRemoved" : 2 }) # 删除了两条数据
##只查询返回一条
> db.col.findOne()
{
"_id" : ObjectId("629774960b8adde4a1c3248a"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
> db.col.find({"title","MongoDB"})
uncaught exception: SyntaxError: missing : after property id :
@(shell):1:20
> db.col.find({"title","MongoDB"}).pretty
uncaught exception: SyntaxError: missing : after property id :
@(shell):1:20
#解决方法:
db.getCollection('col').find({"title":"MongoDB"})
> db.col.find()
{ "_id" : ObjectId("629774960b8adde4a1c3248a"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("629774f50b8adde4a1c3248b"), "title" : "MongoDB2", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("629775720b8adde4a1c3248c"), "title" : "MongoDB3", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
> db.getCollection('col').find({"title":"MongoDB"})
{ "_id" : ObjectId("629774960b8adde4a1c3248a"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
##and操作
> db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
##or操作
> db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
##and or操作
>db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
##限制输出2行
> db.col.find().limit(2)
{ "_id" : ObjectId("629774960b8adde4a1c3248a"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("629774f50b8adde4a1c3248b"), "title" : "MongoDB2", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
##跳过第一行
> db.col.find().skip(1)
{ "_id" : ObjectId("629774f50b8adde4a1c3248b"), "title" : "MongoDB2", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("629775720b8adde4a1c3248c"), "title" : "MongoDB3", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
MongoDB sort() 方法
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,
其中 1 为升序排列,而 -1 是用于降序排列。
>db.COLLECTION_NAME.find().sort({KEY:1})
排序
> db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "MongoDB" }
{ "title" : "MongoDB2" }
{ "title" : "MongoDB3" }
##升序
db.col.find({},{"title":1,_id:0}).sort({"title":1})
{ "title" : "MongoDB" }
{ "title" : "MongoDB2" }
{ "title" : "MongoDB3" }
##降序
db.col.find({},{"title":1,_id:0}).sort({"title":-1})
{ "title" : "MongoDB3" }
{ "title" : "MongoDB2" }
{ "title" : "MongoDB" }
这篇关于mongodb客户端操作语法笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享