Mongo Shell

    本篇文章英文文档地址 https://docs.mongodb.com/manual/reference/mongo-shell/

1,command line options

--help :查看mongo在命令行中可以使用的选项

--nodb:启动一个mongo shell 但是并不连接数据库

--shell:启动一个mongo shell

2,command help

help:查看帮助

db.help():查看数据库上能够使用的方法

db.<collection>.help():查看集合上能使用的方法

show dbs:查看当前数据库

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
new     0.000GB
runoob  0.000GB
test    0.000GB
testDB  0.000GB

use <db>:将正在使用的数据库切换到<db>

> use test
switched to db test

show collections:查看当前数据库中的集合

> show collections
orders
ordes
products

show users:查看当前数据库的用户

show roles:查看所有的roles,包括用户自定义的和内建的

show profile:打印5个最近的且花费了超过1ms的操作

show databases:查看数据库

> show databases
admin   0.000GB
config  0.000GB
local   0.000GB
new     0.000GB
runoob  0.000GB
test    0.000GB
testDB  0.000GB
load():运行一个javascript文件

3,Basic Shell JavaScript Operations

db.auth():如果运行在安全模式,对用户进行身份验证

coll = db.<collection>:将游标切换到数据库中的<collection>

db.collection.find():返回数据库中所有的文档,并且返回一个光标

> db.getCollection("ordes").find()
{ "_id" : 1, "product_id" : 154, "status" : 1 }

db.collection.insertOne():向数据库的集合中插入一条数据

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost",function(err,db){
	dbo = db.db("test");
	obj = {id:"1112",name:"xiaobaicai"}
	dbo.collection("products").insertOne(obj,function(err,res){
		if(err)throw err;
		console.log("数据插入成功");
		db.close();		
	});
	
});

db.collection.insertMany():向数据库中插入多条数据

db.collection.updateOne():更新数据库中的一条数据

var MongoClient = require('mongodb').MongoClient;
var url="mongodb://localhost:27017/";

MongoClient.connect(url,function(err,db){
	if (err) throw err;
	var dbo = db.db("runoob");
	var whereStr = {name:"白菜"};
	var updateStr = {$set:{url:"new xiaobaicai.fun"}};
	dbo.collection("site").updateOne(whereStr,updateStr,function(err,res){
		if(err)throw err;
		console.log("文档更新成功");
		db.close();
	});
});

db.collection.updateMany():更新数据库中的多条数据

db.collection.save():插入,或者更新一条数据。

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost",function(err,db){
	dbo = db.db("test");
	obj = {id:"1112",name:"hello"}
	dbo.collection("products").save(obj,function(err,res){
		if(err)throw err;
		console.log("数据插入成功");
		db.close();		
	});
});

db.collection.deleteOne():从集合中删除一条数据

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost",function(err,db){
	dbo = db.db("test");
	obj = {id:"1112",name:"hello"}
	dbo.collection("products").deleteOne(obj,function(err,res){
		if(err)throw err;
		console.log("数据删除成功");
		db.close();		
	});
});

db.collection.deleteMany():从集合中删除多条数据

db.collection.drop():删除该集合

db.collection.createIndex():从集合中创建索引

db.getSiblingDB():使用当前的连接连接到另一个数据库

3,queries

db.collection.find(<query>):查找满足query的数据

> db.getCollection("products").find({"name":"xiaobaicai"})
{ "_id" : ObjectId("5b07ab43a9f106ce6ce1227c"), "id" : "1111", "name" : "xiaobaicai" }

db.collection.find(<query>,<projection>):查找满足query的数据

db.collection.find().sort(<sorted>):查找 并按照sorted中的规则进行排序

db.collection.find().limit(<n>):查找,并只返回前n个符合要求的数据

db.collection.find().skip(<n>):查找,并跳过找到的前n个数据

> db.getCollection("products").find().limit(2)
{ "_id" : 154, "name" : "笔记本电脑" }
{ "_id" : 155, "name" : "耳机" }
> db.getCollection("products").find().skip(2)
{ "_id" : 156, "name" : "台式电脑" }
{ "_id" : ObjectId("5b07ab43a9f106ce6ce1227c"), "id" : "1111", "name" : "xiaobaicai" }
{ "_id" : ObjectId("5b07abbaff6004f4cc35e72b"), "id" : "1112", "name" : "xiaobaicai" }
{ "_id" : ObjectId("5b07ac26462e1df41855a47f"), "id" : "1112", "name" : "xiaobaicai" }

db.collection.count():返回当前集合中数据的数目

> db.getCollection("products").count()
6

db.collection.find(<query>).count():返回匹配<query>的数据的数量

db.collection.findOne(<query>):返回第一个匹配<query>的数据

4,Administrative Command Helpers

db.cloneDatabase(<host>):将当前数据库克隆到<host>,<host>数据库实例必须是运行在noauth模式中。

db.copyDatabase(<from>,<to>,<host>):复制数据库

db.fromcoll.renameCollection(<tocoll>):重命名集合

db.getCollectionNames():获得当前数据库中的集合名

> db.getCollectionNames()
[ "orders", "ordes", "products", "system.profile" ]

db.dropDatabase():删除当前数据库


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值