mongodb客户端操作语法笔记

2024-10-09 08:44:47 浏览数 (3)

##登录连接: 进入客户端方法 D:Program FilesMongoDBServer5.0bin>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 教程'},{

##未找到记录,默认不新增 > 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": {

##限制输出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" }

0 人点赞