MongoDB 学习笔记2

6**.MongoDB 删除文档**

MongoDB remove()函数是用来移除集合中的数据。
MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。
语法
remove() 方法的基本语法格式如下所示:
db.collection.remove(
,

)
如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:
db.collection.remove(
,
{
justOne: ,
writeConcern:
}
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
实例
以下文档我们执行两次插入操作:

db.col.insert({title: ‘MongoDB 教程’,
description: ‘MongoDB 是一个 Nosql 数据库’,
by: ‘菜鸟教程’,
url: ‘http://www.runoob.com‘,
tags: [‘mongodb’, ‘database’, ‘NoSQL’],
likes: 100
})
使用 find() 函数查询数据:
db.col.find()
接下来我们移除 title 为 ‘MongoDB 教程’ 的文档:
db.col.remove({‘title’:’MongoDB 教程’})
WriteResult({ “nRemoved” : 2 }) # 删除了两条数据
db.col.find()
…… # 没有数据
如果你只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:
db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
即:
db.col.remove({‘title’:’MongoDB 教程’},1)
如果你想删除所有数据,可以使用以下方式(类似常规 SQL 的 truncate 命令):
db.col.remove({})
db.col.find()

7**.MongoDB 查询文档**
MongoDB 查询数据的语法格式如下:
db.COLLECTION_NAME.find()
例子:
db.col.find()
find() 方法以非结构化的方式来显示所有文档。
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。

MongoDB 与 RDBMS Where 语句比较
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:
操作 格式 范例 RDBMS中的类似语句
等于 {:} db.col.find({“by”:”菜鸟教程”}).pretty() where by = ‘菜鸟教程’
小于 {:{lt:<value>}} db.col.find({"likes":{lt:50}}).pretty() where likes < 50
小于或等于 {:{lte:<value>}} db.col.find({"likes":{lte:50}}).pretty() where likes <= 50
大于 {:{gt:<value>}} db.col.find({"likes":{gt:50}}).pretty() where likes > 50
大于或等于 {:{gte:<value>}} db.col.find({"likes":{gte:50}}).pretty() where likes >= 50
不等于 {:{ne:<value>}} db.col.find({"likes":{ne:50}}).pretty() where likes != 50

MongoDB AND 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,及常规 SQL 的 AND 条件。
语法格式如下:

db.col.find({key1:value1, key2:value2}).pretty()
db.col.find({“by”:”菜鸟教程”, “title”:”MongoDB 教程”}).pretty()
MongoDB OR 条件
MongoDB OR 条件语句使用了关键字 or,语法格式如下:  
  db.col.find(  
     {
or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
例子:
db.col.find({$or:[{“by”:”菜鸟教程”},{“title”: “MongoDB 教程”}]}).pretty()
AND 和 OR 联合使用
以下实例演示了 AND 和 OR 联合使用,类似常规 SQL 语句为: ‘where url=’http://www.runoob.com’ AND (by = ‘菜鸟教程’ OR title = ‘MongoDB 教程’)’
例子:
db.col.find({“likes”: {gt:50},or: [{“by”: “菜鸟教程”},{“title”: “MongoDB 教程”}]}).pretty()

7**.MongoDB 条件操作符**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值