Skip to Content
MongoDB权威指南(第3版)
book

MongoDB权威指南(第3版)

by Shannon Bradshaw, Eoin Brazil, Kristina Chodorow
November 2021
Intermediate to advanced
410 pages
12h 1m
Chinese
Posts & Telecom Press
Content preview from MongoDB权威指南(第3版)
查询
55
这时,不能直接使用
db.blog.find({"comments" : {"author" : "joe", "score" : {"$gte" :
5}}})
进行查询。内嵌文档的匹配必须匹配整个文档,而这个查询不会匹配
"comment"
键。
使用
db.blog.find({"comments.author" : "joe", "comments.score" : {"$gte" : 5}})
不行,因为符合作者条件的评论与符合分数条件的评论可能不是同一条。也就是说,这会
返回上面显示的那个文档:因为它匹配了第一条评论中的
"author" : "joe"
和第二条评论
中的
"score" : 6
要正确指定一组条件而无须指定每个键,请使用
"$elemMatch"
。这种模糊的命名条件允许
你在查询条件中部分指定匹配数组中的单个内嵌文档。正确的查询如下所示:
> db.blog.find({"comments" : {"$elemMatch" :
... {"author" : "joe", "score" : {"$gte" : 5}}}})
"$elemMatch"
允许你将限定条件进行“分组”。仅当需要对一个内嵌文档的多个键进行操
作时才会用到它。
4.4
 
$where
查询
值对是一种相当有表现力的查询方式,但有些查询依然无法表示。对于无法以其他方
式执行的查询,可以使用
"$where"
子句,它允许你在查询中执行任意的
JavaScript
代码。
这样就能在查询中做大部分事情了。为安全起见,应该严格限制或消除 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

大数据项目管理:从规划到实现

大数据项目管理:从规划到实现

Ted Malaska, Jonathan Seidman
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
Spark快速大数据分析(第2版)

Spark快速大数据分析(第2版)

Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee
Kafka权威指南(第2版)

Kafka权威指南(第2版)

Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty

Publisher Resources

ISBN: 9787115576538