在MongoDB查询查询的讨论

在MongoDB查询查询的讨论
mondb最大的功能之一是它支持动态查询,就像一个传统的关系数据库的查询,但是查询更灵活。

查询表达式对象:查询表达式对象

查询表达式的文档也是一个BSON文档结构,例如,我们可以查询全部记录在下面的查询语句的集合:

Db.users.find({ })

这里,表达式对象是一个空文档,它将匹配查询时的所有记录。

复制代码代码如下所示:

Db.users.find({ 'last_name:'smith})
在这里,我们将与史米斯last_name属性值查询所有文件记录。

两。查询选项

除了查询表达式的事故,Mondb也支持一些额外的参数选项。例如,我们可能只是想返回的特定字段的值:

复制代码代码如下所示:

除了外部字段的所有字段

> db.user.find({ },{年龄:0 });

除了注释外,还可以返回所有列

Db.posts.find({标签:'tennis},{ 0 }评论:);

名称用户名= 16 / /退货

> > db.user.find({ 16 },{用户名:姓名:1 });

{_id :16,名字:user16}

所有的z =

Db.things.find({ x:约翰},{ 1 } Z:);
注:本_id场总是会回来的,即使它没有明确指定

三。查询条件

1,> =)
大于:字段>值
Db.collection.find({场:{ $ gt:价值} });

小于字段<值:
Db.collection.find({场:{ } } LT:美元价值);

字段>值大于或等于:
Db.collection.find({场:{ } } GTE:美元价值);

小于或等于:字段<值
Db.collection.find({场:{ } } LTE:美元价值);

2)全部美元

所有$操作类似于$操作,但不同的是,所有操作都需要将数组中的所有值包含在返回的记录中,例如:
>使用测试;
切换到db测试

> > db.things.insert ({a:{1,2,3}});

> > db.things.find();
{_id :ObjectId(4de73360059e7f4bdf907cfe ,):{ 1, 2, 3 } }

> > db.things.find({:{:{ } } $ 2 });
{_id :ObjectId(4de73360059e7f4bdf907cfe ,):{ 1, 2, 3 } }

> > db.things.find({:{ $:{1,2,3} } });
{_id :ObjectId(4de73360059e7f4bdf907cfe ,):{ 1, 2, 3 } }

> > db.things.find({:{ $:{ 1 } } });
{_id :ObjectId(4de73360059e7f4bdf907cfe ,):{ 1, 2, 3 } }

> > db.things.find({:{:{ } } $ 1 });

3)美元存在

$存在操作检查字段是否存在,例如:
> >为(var i = 0;i < 1000;i++)db.user.save({ _id:我的名字:用户+我,用户名:我年龄:20 });

包含用户名 / /
> > db.user.find({用户名:{ $存在:真} })限制(5);
{_id :0,名字:USER0
{_id :1,名字:user1
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4

不包含性字段。
> > db.user.find({性别:{ $存在:假} })限制(5);
4)$国防部

mod操作允许我们简单地使用模式操作而不使用WHERE子句,如:
WHERE子句
> db.user.find(。_id % 10 = = 1 )限制(5);
{_id :1,名字:user1
{_id :11,名字:user11
{_id :21,名字:user21
{_id :31,名字:user31
{_id :41,名字:user41

mod操作
> > db.user.find({ _id:{:{ } } $ MOD、极限(5)});
{_id :1,名字:user1
{_id :11,名字:user11
{_id :21,名字:user21
{_id :31,名字:user31
{_id :41,名字:user41

5)$ Ne

意思是不等于,不等于,不用多说,看看例子:
> > db.user.find()限制(5);
{_id :0,名字:USER0
{_id :1,名字:user1
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4

> > db.user.find({ _id:{ 0 } } $呢:)限制(5);
{_id :1,名字:user1
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4
{_id :5,名字:用户

6)美元

运行中的$类似于传统关系数据库中的$,例如:
数据库中的所有对应数组记录
> > db.user.find({ _id:{ } } { 2,3,4,5,6美元:})限制(5);
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4
{_id :5,名字:用户
{_id :6,名字:user6

因为没有_id = 1111数据库中的记录
> > db.user.find({ _id:{ } } 2,3,451111美元:{ })限制(5);
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4
{_id :5,名字:用户
7)万元

万美元是与$在操作相反,例如:
带 / / _id = 1 / 2 / 3 / 4的记录
> > db.user.find({ _id:{ $ n } } }:{ 1、2、3、4)限制(5);
{_id :0,名字:USER0
{_id :5,名字:用户
{_id :6,名字:user6
{_id :7,名字:USER7
{_id :8,名字:user8
8)$、$或

与美元或美元相反,美元也不好解释,例如:
> db.user.find({ { {或:美元_id:2 },{姓名:'user3},{ 4 } } }用户名:(5)限制);
{_id :0,名字:USER0
{_id :1,名字:user1
{_id :5,名字:用户
{_id :6,名字:user6
{_id :7,名字:USER7

> db.user.find({ { {或:美元_id:2 },{姓名:'user3},{ 4 } } }用户名:(5)限制);
{_id :2,名字:user2
{_id :3,名字:user3
{_id :4,名字:user4
以上是本文的全部内容,希望大家能喜欢。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部