MongoDB干货篇之查询数据

发表于:2017-5-08 11:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘春    来源:网易科技

  在开始之前我们应该先准备数据方便演示,这里我插入的了几条数据,数据如下:
db.user.insertMany(
[{
name:'jack',
age:22,
sex:'Man',
tags:['python','c++','c'],
grades:[22,33,44,55],
school:{
name:'shida',
city:'xuzhou'
}
},{
name:'jhon',
age:33,
sex:null,
tags:['python','java'],
grades:[66,22,44,88],
school:{
name:'kuangda',
city:'xuzhou'
}
},
{
name:'xiaoming',
age:33,
tags:['python','java'],
grades:[66,22,44,88],
school:{
name:'kuangda',
city:'xuzhou'
}
}
]
)
  find( , )
  其中 query 表示查找的条件,相当于 mysql 中 where 子句, projection 列出你想要查找的数据,格式为 db.collection.find(find(<query filter>, <projection>))
  实例:
  下面不带参数的查找,将会查找出所有的结果
db.find().pretty();
//输出结果
{
"_id" : ObjectId("59056f81299fe049404b2899"),
"name" : "jack",
"age" : 22,
"tags" : [
"python",
"c++",
"c"
],
"grades" : [
22,
33,
44,
55
],
"school" : {
"name" : "shida",
"city" : "xuzhou"
}
}
  下面找出满足 name 为 jack 的数据,并且只输出 name , age ,这里的 _id 是默认输出的,如果不想输出将将它设置为 0 ,想要输出那个字段将它设置为1
  db.user.find({name:'jack'},{name:1,age:1})
  //输出结果
  { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "age" : 22 }
  db.user.find({name:'jack'},{name:1,age:1,_id:0})
  //输出结果
  {"name" : "jack", "age" : 22 }
  **注意这里的一个 projection 不能 同时 指定包括和排除字段,除了排除 _id 字段。 在 显式包括 字段的映射中, _id 字段是唯一一个您可以 显式排除 的。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号