mongodb常用命令

mongodb与mysql

mysql mongodb
database database
table collection
row document (json=>bson>
column field
join 不支持
primar key primary key (_id)

mongodb常用命令

//创建数据库 选择数据库 zzz
use zzz;
//查看库中的表
show tables;
show collections;
//创建表
db.createCollection("zzz");
//查看当前数据库
db
//插入一条数据
//{"title":"aa", "content":"bb", "name":"cc", "userid":"0001", "nick":"kk"}
db.zzz.insert({"title":"aa", "content":"bb", "name":"cc", "userid":"0001", "nick":"kk"})
//查询表中的所有数据
db.zzz.find();
//查看表的数据量
db.zzz.count();
//删除表
db.zzz.drop();
//删库
db.dropDatabase();
//插入多条数据
try{
	db.zzz.insertMany(
		[
			{"_id":"1", "title":"aa", "content":"good", "readNum":21, "name":"a1", "userid":"0001", "nick":"gree"},
			{"_id":"2", "title":"bb", "content":"hi", "readNum":28, "name":"b1", "userid":"0002", "nick":"ant"},
			{"_id":"3", "title":"cc", "content":"ok", "readNum":27, "name":"c1", "userid":"0003", "nick":"plan"},
			{"_id":"4", "title":"dd", "content":"no", "readNum":29, "name":"a1", "userid":"0001", "nick":"gree"},
			{"_id":"5", "title":"ee", "content":"yes","readNum":22, "name":"e1", "userid":"0004", "nick":"dog"}
		]
	)
}catch(e){
 print(e)
}
//带条件查询 查询一条数据
db.zzz.findOne({"name":"a1"})
//查询多条数据
db.zzz.find({"name":"a1"})
//多条件查询 结果显示titLe列
db.zzz.find({name:"a1",content:"no"},{title:1})
//不显示_id列
db.zzz.find({name:"a1",content:"no"},{_id:0})
//查询全部,显示title content列
db.zzz.find({},{title:1,content:1})
//查询全部,显示title content ,隐藏_id列
db.zzz.find({},{title:1,content:1,_id:0})
//默认_id是主键 删除指定_id
db.zzz.remove({_id:5})
//删除指定列内容是a1
db.zzz.remove({name:"a1"})
//根据指定的条件来删除
db.zzz.remove({name:"c1",content:"ok"})
//根据条件查询出内容的数量
db.zzz.find({name:"a1"}).count()
//分页操作
//查询前两条数据
db.zzz.find().limit(2);
//跨越两条,查询第三四条数据
db.zzz.find().limit(2).skip(2);
//跨越四条,查询第五六条数据
db.zzz.find().limit(2).skip(4);
//排序
//查询结果 按阅读量升序
db.zzz.find().sort({readNum:1})
//查询结果 按阅读量降序
db.zzz.find().sort({readNum:-1})
//查询阅读量排名前三的作者的名字
db.zzz.find({},{name:1}).sort({readNum:-1}).limit(3)
//多列排序 用户id升序 阅读量降序
db.zzz.find().sort({userid:1,readNum:-1})
//查询内容包含字母o
db.zzz.find({content:/o/})
//查询内容以字母o开头
db.zzz.find({content:/^o/})
//$gt $lt $gte $lte $ne... 
//阅读量大于25的信息
db.zzz.find({readNum:{$gt:25}})
//阅读量在25 到 30间的信息
db.zzz.find(readNum:{$gt:25,$lt:30})
// 作者a1的阅读量在25 到 30间的信息
db.zzz.find({name:"a1",readNum:{$gt:25,$lt:30}})
//$in $or $and
//userid为0001,0002的信息
db.zzz.find({userid:{$in:["0001","0002"]}})
//作者c1或阅读量小于25的信息
db.zzz.find({$or:[{name:"c1"},{readNum:{$lt:25}}]})
//阅读量21且小于29的信息
db.zzz.find({$and:[{readNum:{$gt:21}},{readNum:{$lt:29}}]})

修改
> db.student.update({title:"bb"},{content:"hihihi"})   // 查询到的数据全部修改

> db.students.update({title:"aa"},{$set:{content:"hihihi"}})  //局部修改

> db.students.update({name:"a1"},{$set:{nick:"black"}})  只修改一条

> db.students.updateMany({name:"a1"},{$set:{nick:"black"}})   修改多条 修改所有匹配到的数据
> db.students.update({name:"a1"},{$set:{nick:"tom"}},{multi:true})修改多条
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

// 索引
> db.students.getIndexes()
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "kgcdsj.students"
	}
]
// 创建索引
> db.students.createIndex({userid:1})  
{
	"createdCollectionAutomatically" : false,
	"numIndexesBefore" : 1,
	"numIndexesAfter" : 2,
	"ok" : 1
}
> db.students.createIndex({userid:1,readNum:-1})
{
	"createdCollectionAutomatically" : false,
	"numIndexesBefore" : 2,
	"numIndexesAfter" : 3,
	"ok" : 1
}

删除索引
> db.students.dropIndex("userid_1_readNum_-1")   // 索引名
> db.students.dropIndex({userid:1})
> db.students.dropIndexes()     // 删除全部索引
{
	"nIndexesWas" : 3,
	"msg" : "non-_id indexes dropped for collection",
	"ok" : 1
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值