Linux下的MongoDB基础学习二

Linux下的MongoDB基础学习一:https://mp.csdn.net/postedit/86308439

 一、查询语句

use 集合名称

db.集合名称.find()

但是用上面的语句输出结果后,会发现乱的一团糟。因此改用下面的语法会整齐很多:

db.post.find().pretty()

如果你想让 mongo shell 始终以 pretty 的方式显示返回数据,可以通过下面的指令实现:

echo "DBQuery.prototype._prettyShell = true" >> ~/.mongorc.js

二、and和or语句

1.MongoDB没有关系型数据库中的and语句,但是可使用:

db.集合名称.find({ key1: value1, key2: value2 }).pretty()

来实现and功能

2.or语句以 $or 作为关键词,有下面的用法:

db.集合名称.find(
  {
    $or: [
      {key1: value1}, {key2:value2}
    ]
  }
).pretty()

三、模式匹配

# 以 'start' 开头的匹配式:
{"name":\^start\}

# 以 'tail' 结尾的匹配式:
{"name":\tail^\}

四、习题(本题来源于实验楼https://www.shiyanlou.com/courses/running

请新建一个学生表的集合,插入学生的信息,包括姓名、年龄、性别等,使用上述讲的查询方法查询性别为男的学生、年龄大于20的学生和姓张的学生。

参考代码:

> use practice
switched to db practice

> db.createCollection("student")
{ "ok" : 1 }

> db.student.insert([
{
   "name":"黄豆",
   "age":21,
   "gender":"female"
},
{
   "name":"周大壮",
   "age":20,
   "gender":"male"
},
{
   "name":"张小妹",
   "age":17,
   "gender":"female"
}])

BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 3,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

> db.student.find({"gender":"male"})
{
    "_id" : ObjectId("5c3593ef5b79be0e0e096e55"),
    "name" : "周大壮",
    "age" : 20,
    "gender" : "male"
}

> db.student.find({"age":{$gt:20}})
{
    "_id" : ObjectId("5c3593ef5b79be0e096e5587"),
    "name" : "黄豆",
    "age" : 21,
    "gender" : "female"
}

> db.student.find({"name":/^张/})
{
    "_id" : ObjectId("5c3593ef5b79be0e096e5588"),
    "name" : "张小妹",
    "age" : 17,
    "gender" : "female"
}

习题2地址:https://www.shiyanlou.com/courses/12/labs/2789/document

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值