Heim > Datenbank > MySQL-Tutorial > Zusammenfassung häufig verwendeter Anweisungen in MongoDB

Zusammenfassung häufig verwendeter Anweisungen in MongoDB

不言
Freigeben: 2018-10-17 14:49:39
nach vorne
2191 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Zusammenfassung häufig verwendeter Anweisungen in MongoDB. Freunde in Not können darauf verweisen.

Wenn Sie der Meinung sind, dass Mongodb-Anweisungen nicht leicht zu verstehen sind, können Sie sie mit SQL-Anweisungen vergleichen. Es wird viel einfacher sein, sie zu lernen.

1. Abfrage (finden)

Alle Ergebnisse abfragen

select * from article
db.article.find()
Nach dem Login kopieren

Geben Sie an, welche Schlüssel zurückgegeben werden sollen

select title, author from article
db.article.find({}, {"title": 1, "author": 1})
Nach dem Login kopieren

Where-Bedingung

select * from article where title = "mongodb"
db.article.find({"title": "mongodb"})
Nach dem Login kopieren

und Zustand

select * from article where title = "mongodb" and author = "god"
db.article.find({"title": "mongodb", "author": "god"})
Nach dem Login kopieren

oder Zustand

select * from article where title = "mongodb" or author = "god"
db.article.find({"$or": [{"title": "mongodb"}, {"author": "god"}]})
Nach dem Login kopieren

Vergleichszustand

select * from article where read >= 100;
db.article.find({"read": {"$gt": 100}})
Nach dem Login kopieren
> $gt(>)、$gte(>=)、$lt(<)、$lte(<=)
Nach dem Login kopieren
 select * from article where read >= 100 and read <= 200
 db.article.find({"read": {"$gte": 100, "lte": 200}})
Nach dem Login kopieren

in Zustand

select * from article where author in ("a", "b", "c")
db.article.find({"author": {"$in": ["a", "b", "c"]}})
Nach dem Login kopieren

wie

select * from article where title like "%mongodb%"
db.article.find({"title": /mongodb/})
Nach dem Login kopieren

Anzahl

select count(*) from article
db.article.count()
Nach dem Login kopieren

ist nicht gleich

select * from article where author != "a"
db.article.find({ "author": { "$ne": "a" }})
Nach dem Login kopieren

Sortieren

Aufsteigend:

select * from article where type = "mongodb" order by read desc
db.article.find({"type": "mongodb"}).sort({"read": -1})
Nach dem Login kopieren

Absteigend:

select * from article where type = "mongodb" order by read asc
db.article.find({"type": "mongodb"}).sort({"read": 1})
Nach dem Login kopieren
findOne(): Zusätzlich zur Rückgabe nur einer Abfrage Als Ergebnis verwenden Sie die gleiche Methode wie find().

2. Erstellen (einfügen)

insert into article(title, author, content) values("mongodb", "tg", "haha")
db.article.insert({"title": "mongodb", "author": "tg", "content": "haha"})
Nach dem Login kopieren

3. Update (update)

update()

Syntax :

db.collecion.update(query, update[, options] )

   query : 必选,查询条件,类似find中的查询条件。
   update : 必选,update的对象和一些更新的操作符(如$,$inc...)等
   options:可选,一些更新配置的对象。
   upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
   multi:可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
   writeConcern:可选,抛出异常的级别。
Nach dem Login kopieren

Einfaches Update:

update article set title = "mongodb" where read > 100
db.article.update({"read": {"$gt": 100}}, {"$set": { "title": "mongodb"}})
Nach dem Login kopieren

save()

db.article.save({_id: 123, title: "mongodb"})
Nach dem Login kopieren

Führen Sie die aus Wenn sich in der obigen Anweisung bereits ein Dokument mit der _id 123 befindet, aktualisieren Sie das entsprechende Feld, andernfalls fügen Sie es ein.

Hinweis: Wenn die _id des aktualisierten Objekts nicht vorhanden ist, generiert das System sie automatisch und fügt sie als neues Dokument ein.

Update-Operatoren

MongoDB bietet einige leistungsstarke Update-Operatoren.

Ein bestimmtes Feld aktualisieren ($set):

update game set count = 10000 where _id = 123
db.game.update({"_id": 123}, { "$set": {"count": 10000}})
Nach dem Login kopieren

Ein bestimmtes Feld löschen ($unset):

Hinweis: Der Wert des durch $unset angegebenen Felds muss nur benötigt werden irgendein rechtlicher Wert sein kann.
Inkrementieren oder Dekrementieren ($inc)

 db.game.update({"_id": 123}, { "$inc": {"count": 10}}) // 每次count都加10
Nach dem Login kopieren

> Hinweis: Das Feld, das $inc entspricht, muss eine Zahl sein, und der inkrementierende oder dekrementierende Wert muss ebenfalls eine Zahl sein.

Array anhängen ($push):

 db.game.update({"_id": 123}, { "$push": {"score": 123}})
Nach dem Login kopieren

Sie können auch mehrere Elemente gleichzeitig anhängen:

 db.game.update({"_id": 123}, {"$push": {"score": [12,123]}})
Nach dem Login kopieren

Hinweis: Das angehängte Feld muss sein ein Array. Wenn das Array-Feld nicht vorhanden ist, wird es automatisch hinzugefügt und dann angehängt.

Mehrere Elemente gleichzeitig anhängen ($pushAll):

 db.game.update({"_id": 123}, {"$pushAll": {"score": [12,123]}})
Nach dem Login kopieren

Eindeutige Elemente anhängen ($addToSet):

$addToSet ähnelt Set, nur wenn dies der Fall ist Der Wert wird nur erhöht, wenn er nicht innerhalb des Elements liegt:

 db.game.update({"_id": 123}, {"$addToSet": {"score": 123}})
Nach dem Login kopieren

Element löschen ($pop):

db.game.update({"_id": 123}, {"$pop": {"score": 1}})  // 删除最后一个元素
db.game.update({"_id": 123}, {"$pop": {"score": -1}})  // 删除第一个元素
Nach dem Login kopieren

Hinweis: $pop kann nur ein Element im Array löschen einmal bedeutet 1 das Löschen des letzten, -1 bedeutet das Löschen des ersten.

Ein bestimmtes Element löschen ($pull):

db.game.update({"_id": 123}, {"$pull": {"score": 123}})
Nach dem Login kopieren

Die obige Anweisung bedeutet, das Element zu löschen, dessen Wert im Array-Score gleich 123 ist.

Mehrere spezifische Elemente löschen ($pullAll):

db.game.update({"_id": 123}, {"$pullAll": {score: [123,12]}})
Nach dem Login kopieren

Die obige Anweisung bedeutet, die Elemente zu löschen, deren Wert 123 oder 12 im Array ist.
Aktualisieren Sie den Wert des verschachtelten Arrays:
Verwenden Sie den Array-Index (beginnend bei 0):

{
    address: [{place: "nanji", tel: 123}, {place: "dongbei", tel: 321}]
}
Nach dem Login kopieren
rrree

Wenn Sie nicht wissen, welches Array-Element aktualisiert werden soll, können wir das verwenden $-Operator ( $ stellt sich selbst dar, d. h. das Element selbst im Array, das gemäß den Abfragebedingungen gefunden wurde, und nur das erste gefundene Array-Element wird angewendet):

 db.game.update({"_id": 123}, {"$set": {"address.0.tel": 213}})
Nach dem Login kopieren

In der obigen Anweisung $ ist die Abfrage. Das Abfrageergebnis der Bedingung {"address.place": "nanji"} ist {place: "nanji", tel: 123}, also ist {"address.$.tel": 123} auch {" Adresse.{Ort: "nanji", Tel.: 123}.tel": 123}

4. Löschen (entfernen)

Alle Dokumente löschen:

 db.game.update({"address.place": "nanji"}, {"$set": {"address.$.tel": 123}})
Nach dem Login kopieren

Angegebenes Dokument löschen:

delete from article
db.article.remove()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung häufig verwendeter Anweisungen in MongoDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage