Heim Datenbank MySQL-Tutorial mongodb入门-9查询4

mongodb入门-9查询4

Jun 07, 2016 pm 02:59 PM
ht mongodb 入门 查询

mongodb入门-9查询4 mongodb入门-8查询3 http://www.2cto.com/database/201305/212158.html $elemMatch 匹配内嵌文章中的数据,我们知道在mongodb中可以使用内嵌文档,但是这时候根据内嵌文档的内容查询使用原先介绍的方法,可能就不是那么方便了,好在mongodb已

mongodb入门-9查询4

 

mongodb入门-8查询3

http://www.2cto.com/database/201305/212158.html

 

$elemMatch

匹配内嵌文章中的数据,我们知道在mongodb中可以使用内嵌文档,但是这时候根据内嵌文档的内容查询使用原先介绍的方法,可能就不是那么方便了,好在mongodb已经考虑了,为我们提供了$elemMatch方法.例子:

 

[html] 

> db.user.find()  

{ "_id" : ObjectId("5198c286c686eb50e2c843b2"), "name" : "user0", "age" : 0 }  

{ "_id" : ObjectId("5198c286c686eb50e2c843b3"), "name" : "user1", "age" : 1 }  

{ "_id" : ObjectId("5198c286c686eb50e2c843b4"), "name" : "user2", "age" : 2 }  

{ "_id" : ObjectId("5198c286c686eb50e2c843b5"), "name" : "user3", "age" : 1 }  

{ "_id" : ObjectId("5198c286c686eb50e2c843b6"), "name" : "user4", "age" : 1 }  

{ "_id" : ObjectId("5198c286c686eb50e2c843b7"), "name" : "user5", "age" : 2 }  

{ "_id" : ObjectId("51997c702b76790566165e48"), "name" : "xiangyue", "age" : 23, "title" : [ { "content" : "aaa" }, {  

 "content" : "bbb" }, { "discuss" : "cc" } ] }  

{ "_id" : ObjectId("51997c9f2b76790566165e49"), "name" : "xiangyue", "age" : 23, "title" : [ { "content" : "dd" }, {  

"content" : "ee" }, { "discuss" : "ff" } ] }  

> db.user.find({title:{$elemMatch : {content : "aaa"}}}) -->查找title中的content字段为aaa的文档  

{ "_id" : ObjectId("51997c702b76790566165e48"), "name" : "xiangyue", "age" : 23, "title" : [ { "content" : "aaa" }, {  

 "content" : "bbb" }, { "discuss" : "cc" } ] }  

 

游标

mongodb中提供了像关系型数据库中的游标操作.首先我们获取一个游标,获取游标很简单,只需要将我们以前学过的查询方法赋值给一个变量就可以了:

 

[html] 

var cursor = db.test.find()  

我们如果在命令行直接输入cursor,将会执行这个查询打印结果,这个时候我们再去执行cursor的时候将神马都不会返回了,因为这个游标已经使用完了,当然我们不想这样使用游标,我们可以像下面那样使用游标:

[html] 

> while(cursor.hasNext()){ var current = cursor.next(); print("age=" + current.age); }  

age=1  

age=2  

age=3  

age=4  

age=5  

当然我们可以使用游标的forEach方法,如下:

[html] 

> var cursor = db.test.find()  

> cursor.forEach(function(obj){  

... print("age=" + obj.age);  

... });  

age=1  

age=2  

age=3  

age=4  

age=5  

同样游标可以结合sort/skip/limit等方法一同使用,换句话说以前学的基本所有的查询都可以跟游标结合使用.

 

count 计算查询结果的数目

这个比较简单,在以前的查询的命令后面再加上.count()就可以了.

 

[html] 

> db.test.find()  

{ "_id" : 1, "name" : "user_1", "age" : 1 }  

{ "_id" : 2, "name" : "user_2", "age" : 2 }  

{ "_id" : 3, "name" : "user_3", "age" : 3 }  

{ "_id" : 4, "name" : "user_4", "age" : 4 }  

{ "_id" : 5, "name" : "user_5", "age" : 5 }  

> db.test.find().count()  

5  

 

null查询

例如下面文档我们只想查出y值为null的文档,

 

[html] 

> db.test2.find()  

{ "_id" : ObjectId("519984432b76790566165e4c"), "x" : null }  

{ "_id" : ObjectId("5199844c2b76790566165e4d"), "y" : null, "x" : "test" }  

 

按照我们原来学过的使用下的方式查询结果不是我们想要的:

[html] 

> db.test2.find({y:null}) -->我们发现mongodb对于y不存在也会给查出来  

{ "_id" : ObjectId("519984432b76790566165e4c"), "x" : null }  

{ "_id" : ObjectId("5199844c2b76790566165e4d"), "y" : null, "x" : "test" }  

这里提供一下两种方法查询

 

[html] 

> db.test2.find({y:{$type:10}}) -->明确指出其类型  

{ "_id" : ObjectId("5199844c2b76790566165e4d"), "y" : null, "x" : "test" }  

> db.test2.find({y:null,y:{$exists:1}}) -->查找null 但是同时y值必须存在  

{ "_id" : ObjectId("5199844c2b76790566165e4d"), "y" : null, "x" : "test" }  

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Generieren Sie PPT mit einem Klick! Kimi: Lassen Sie zuerst die „PPT-Wanderarbeiter' populär werden Generieren Sie PPT mit einem Klick! Kimi: Lassen Sie zuerst die „PPT-Wanderarbeiter' populär werden Aug 01, 2024 pm 03:28 PM

Kimi: In nur einem Satz, in nur zehn Sekunden ist ein PPT fertig. PPT ist so nervig! Um ein Meeting abzuhalten, benötigen Sie einen PPT; um einen wöchentlichen Bericht zu schreiben, müssen Sie einen PPT vorlegen, auch wenn Sie jemanden des Betrugs beschuldigen PPT. Das College ähnelt eher dem Studium eines PPT-Hauptfachs. Man schaut sich PPT im Unterricht an und macht PPT nach dem Unterricht. Als Dennis Austin vor 37 Jahren PPT erfand, hatte er vielleicht nicht damit gerechnet, dass PPT eines Tages so weit verbreitet sein würde. Wenn wir über unsere harte Erfahrung bei der Erstellung von PPT sprechen, treiben uns Tränen in die Augen. „Es dauerte drei Monate, ein PPT mit mehr als 20 Seiten zu erstellen, und ich habe es Dutzende Male überarbeitet. Als ich das PPT sah, musste ich mich übergeben.“ war PPT.“ Wenn Sie ein spontanes Meeting haben, sollten Sie es tun

KI im Einsatz |. AI hat einen Lebens-Vlog eines allein lebenden Mädchens erstellt, der innerhalb von drei Tagen Zehntausende Likes erhielt KI im Einsatz |. AI hat einen Lebens-Vlog eines allein lebenden Mädchens erstellt, der innerhalb von drei Tagen Zehntausende Likes erhielt Aug 07, 2024 pm 10:53 PM

Herausgeber des Machine Power Report: Yang Wen Die Welle der künstlichen Intelligenz, repräsentiert durch große Modelle und AIGC, hat unsere Lebens- und Arbeitsweise still und leise verändert, aber die meisten Menschen wissen immer noch nicht, wie sie sie nutzen sollen. Aus diesem Grund haben wir die Kolumne „KI im Einsatz“ ins Leben gerufen, um detailliert vorzustellen, wie KI durch intuitive, interessante und prägnante Anwendungsfälle für künstliche Intelligenz genutzt werden kann, und um das Denken aller anzuregen. Wir heißen Leser auch willkommen, innovative, praktische Anwendungsfälle einzureichen. Videolink: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Vor kurzem wurde der Lebens-Vlog eines allein lebenden Mädchens auf Xiaohongshu populär. Eine Animation im Illustrationsstil, gepaart mit ein paar heilenden Worten, kann in nur wenigen Tagen leicht erlernt werden.

Ein weiterer Spieler auf Sora-Niveau kommt auf die Straße! Wir haben es mit Sora und Keling verglichen. Ein weiterer Spieler auf Sora-Niveau kommt auf die Straße! Wir haben es mit Sora und Keling verglichen. Aug 02, 2024 am 10:19 AM

Als Sora nicht herauskam, nutzten die Gegner von OpenAI ihre Waffen, um die Straßen zu zerstören. Wenn Sora nicht zur Nutzung geöffnet ist, wird es wirklich gestohlen! Heute hat das Startup LumaAI aus San Francisco einen Trumpf ausgespielt und eine neue Generation des KI-Videogenerierungsmodells DreamMachine auf den Markt gebracht. Kostenlos und für alle verfügbar. Berichten zufolge kann das Modell auf Basis einfacher Textbeschreibungen hochwertige, realistische Videos generieren, mit vergleichbaren Effekten wie Sora. Sobald die Nachricht bekannt wurde, strömten zahlreiche Benutzer auf die offizielle Website, um es auszuprobieren. Obwohl Beamte behaupten, dass das Modell in nur zwei Minuten Videos mit 120 Bildern erzeugen kann, warten viele Benutzer aufgrund des Anstiegs der Besuche stundenlang auf die offizielle Website. BarkleyDai, Lumas Leiter für Produktwachstum, musste sich auf Discord äußern

Warum wusste ich beim Erlernen der Liniengenerierung nicht: Es gibt eine Äquivalenzbeziehung zwischen Matrizen und Graphen? Warum wusste ich beim Erlernen der Liniengenerierung nicht: Es gibt eine Äquivalenzbeziehung zwischen Matrizen und Graphen? Aug 19, 2024 pm 04:52 PM

Die Matrix ist schwer zu verstehen, kann aber anders ausfallen, wenn man sie aus einer anderen Perspektive betrachtet. Wenn wir Mathematik lernen, sind wir oft frustriert über die Schwierigkeit und Abstraktheit des gelernten Wissens, aber manchmal können wir einfach durch einen Perspektivenwechsel eine einfache und intuitive Lösung für das Problem finden. Als wir zum Beispiel als Kinder die Formel für die Quadratsumme (a+b)² lernten, verstanden wir vielleicht nicht, warum sie gleich a²+2ab+b² ist. Wir wussten nur, dass sie so geschrieben wurde das Buch und der Lehrer forderten uns auf, uns das so zu merken; bis wir eines Tages dieses animierte Bild sahen: Mir wurde plötzlich klar, dass wir es aus einer geometrischen Perspektive verstehen können! Jetzt tritt dieses Gefühl der Erleuchtung erneut auf: Eine nichtnegative Matrix kann äquivalent in den entsprechenden gerichteten Graphen umgewandelt werden! Wie in der folgenden Abbildung gezeigt, kann die 3 × 3-Matrix auf der linken Seite tatsächlich vorhanden sein

Entwicklertool! XREAL Air 2 ULTRA kommt zum Verkauf, ein immersives Erlebnis der KI-Entwicklung Entwicklertool! XREAL Air 2 ULTRA kommt zum Verkauf, ein immersives Erlebnis der KI-Entwicklung Aug 07, 2024 pm 06:40 PM

Am 31. Juli um 14:00 Uhr (Pekinger Zeit) wurde das neueste Mitglied der XREAL-Serie von AR-Brillen, XREAL Air2 Ultra, offiziell in China eingeführt. Es ist derzeit auf JD.com, Tmall, Douyin und anderen Plattformen verfügbar ein anfänglicher Preis von 3.999 Yuan. Diese AR-Brille ist ein Flaggschiffprodukt, das sich hauptsächlich an die Entwicklergemeinschaft richtet. Ziel ist es, die Schwelle für Entwickler zum Einstieg in die räumliche Datenverarbeitung zu senken, Innovationen im Bereich der räumlichen Datenverarbeitung zu fördern und ein florierenderes AR-Ökosystem zu schaffen. Befähigung von Entwicklern mit sechs Kernfunktionen Als zweite 6DoF-Brille (Six Degrees of Freedom, sechs Freiheitsgrade) von XREAL ist die XREAL Air2 Ultra derzeit die einzige in der Branche, die zwei Sensoren zur Umgebungserkennung (SLAM-Kamera) verwendet.

So konfigurieren Sie die automatische Expansion von MongoDB auf Debian So konfigurieren Sie die automatische Expansion von MongoDB auf Debian Apr 02, 2025 am 07:36 AM

In diesem Artikel wird vorgestellt, wie MongoDB im Debian -System konfiguriert wird, um eine automatische Expansion zu erzielen. Die Hauptschritte umfassen das Einrichten der MongoDB -Replikat -Set und die Überwachung des Speicherplatzes. 1. MongoDB Installation Erstens stellen Sie sicher, dass MongoDB im Debian -System installiert ist. Installieren Sie den folgenden Befehl: sudoaptupdatesudoaptinstall-emongoDB-org 2. Konfigurieren von MongoDB Replika-Set MongoDB Replikate sorgt für eine hohe Verfügbarkeit und Datenreduktion, was die Grundlage für die Erreichung der automatischen Kapazitätserweiterung darstellt. Start MongoDB Service: SudosystemctlstartMongodsudosysys

Wie Sie eine hohe Verfügbarkeit von MongoDB bei Debian gewährleisten Wie Sie eine hohe Verfügbarkeit von MongoDB bei Debian gewährleisten Apr 02, 2025 am 07:21 AM

In diesem Artikel wird beschrieben, wie man eine hoch verfügbare MongoDB -Datenbank für ein Debian -System erstellt. Wir werden mehrere Möglichkeiten untersuchen, um sicherzustellen, dass die Datensicherheit und -Dienste weiter funktionieren. Schlüsselstrategie: ReplicaSet: Replicaset: Verwenden Sie Replikaten, um Datenreduktion und automatisches Failover zu erreichen. Wenn ein Master -Knoten fehlschlägt, wählt der Replikate -Set automatisch einen neuen Masterknoten, um die kontinuierliche Verfügbarkeit des Dienstes zu gewährleisten. Datensicherung und Wiederherstellung: Verwenden Sie den Befehl mongodump regelmäßig, um die Datenbank zu sichern und effektive Wiederherstellungsstrategien zu formulieren, um das Risiko eines Datenverlusts zu behandeln. Überwachung und Alarme: Überwachungsinstrumente (wie Prometheus, Grafana) bereitstellen, um den laufenden Status von MongoDB in Echtzeit zu überwachen, und

Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Apr 08, 2025 pm 09:39 PM

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

See all articles