mongodb

 

 

操作数据库:

启动/停止:net start/stop mongodb

进入/退出:mongo/exit

查看所有数据库:show dbs

进入数据库:use dbName

查看当前使用的数据库:db/db.getName()

注:空的数据库是不会显示出来的 要插入数据才可以:db.dbName.insert()

删除数据库:db.dropDatabase()

集合的操作方法:

查看帮助api:db.worker.help()

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

创建集合:db.createCollection(collection_nae)/db.collection_name.insert(document)

集合中文档条数:db.person.count()

删除当前数据库中的集合:db.collection_name.drop()

集合重命名:db.orders.renameCollection( "orders2014" )

插入文档:

db.collection_name.insert(document);也可以添加多个文档:[{key:value},{},{}....];对象和数据都可以;

使用save()方法插入文档::db.collection_name.save(document);如果不指定_id字段,save()方法和insert()方法一致,如果指定,则更新指定_id字段;注:insert()不能指定已有_id ,会报错

 

更新文档:

update()方法更新文档,用于已存在的文档

语法:

 

 

 

 

 

注:查询条件为空{},匹配所有数据;如果$set:{没有的数据,相当于添加};$set:设置 $inc递增。针对某个变量进行递增 原来有的在原基础上递增,没有的话,新加递增的字段;db.person.update({age:100},{},{upsert:true});upsert:插入或更新,有就更新,没有则插入

 

删除文档:

remove()方法是用来移除集合中的数据的;注:在执行remove()函数前先执行find()命令来判断执行的条件是否正确;

语法:query:(可选)删除的文档的条件;justOne:(可选) 为true或1,则只删除一个文档;writeConcern:(可选)抛出异常的级别

 

db.person.remove({name:'lisi'});删除person集合中name=lisi的文档

查询文档:

1. find() 查询所有的document数据

2. 查询指定列

.find({queryWhere},{key:1,key1:1}};key字段为1 :显示,0:不显示,并且只显示查询条件的数据

3. findOne()方法查询匹配结果的第一条数据

4. 查询条件操作符:条件操作符用于毕竟两个表达式并从MONGODB集合中获取数据

等于:{<key>:<value>};小于:{<key>:{$lt:<value>}};小于或等于:{<key>:{$lte:<value>}}

大于:{<key>:{$gt:<value>}};大于等于:{<key>:{$gte:<value>}};不等于:{<key>:{$ne:<value>}}

实例:db.person.find({age:{$gt:30}});查询年龄大于30的数据

db.person.find({age:{$gte:30,$lte:50}});查询范围30《= doc <=50

5. 使用_id来查询 db.person.find({'_id',ObjectId("id")})

6. 查询结果的条数 db.person.find().count()

7. 查询某个字段的值是否包含另一个值 db.person.find({name:/value/}) 查询name中包含value的数据

8. 查询某个字段的值是否是另一个值的开头或结尾 db.person.find({naem:/^value$/})

查询条件:AND

find()方法可以传多个键,每个以逗号分开 代表:AND

OR:

 

db.person.find({$or:[{naem:'zhangsan'},{age:5}]})

AND 和OR联合使用

db.person.find({name:'lisi',age:21,$or:[{sex:'男'},{xy:4}]})

Limit与Skip方法

limit()方法可以读取指定数量的数据记录:db.person.find().limit(10);查询前10条数据

skip()方法跳过指定数量的数据,skip方法同样接受一个参数作为记录条数:db.person.find().skip(number);查询number条以后的数据

limit和skip可以混合使用 db.person.find().limit(number).skip(numbet)

limit()方法:读取指定数量的数据记录,db.person.find().limit(NUM)

skip()方法:跳过指定数量的数据,db.person.find().skip(NUM)

sort()方法:对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。

语法:db.person.find().sort({KEY:1}),其中KEY是根据排序的字段,例:db.person.find().sort({'name':1}) 1升序 -1降序

db.person.find().sort({update_at:-1}),目的是对日期进行降序排列。-1倒序,1升序

 

"__v"是"versionKey"的简写,当每一个文档由mongoose创建时就会自动添加,代表这该文档的版本,此属性可配置修改,默认为"__v",

作用是可以在"save文档"时作为一个查询条件,避免在"取出数据"到"save数据"的这段时间内,数据被其他进程修改而导致冲突。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值