Inhaltsverzeichnis
1、MongoDB Shell Script
2、利用MongoDB JAR包编写Java代码访问Mongo数据库
Small Task
Heim Datenbank MySQL-Tutorial MongoDB数据读写的几种方法

MongoDB数据读写的几种方法

Jun 07, 2016 pm 03:28 PM
mongodb mehrere Arten 数据 方法

1、MongoDB Shell Script mongoDB的命令行使用的是类似JavaScript脚本的命令行交互,所以我们可以在shell当中使用JS的一些命令、函数等。 输入mongo命令启动mongo控制台 然后参考官方文档操作mongo数据。 常用命令有 show dbsuse db-nameshow collectionsdb.

1、MongoDB Shell Script

mongoDB的命令行使用的是类似JavaScript脚本的命令行交互,所以我们可以在shell当中使用JS的一些命令、函数等。

输入mongo命令启动mongo控制台

\

然后参考官方文档操作mongo数据。

常用命令有

show dbs
use db-name
show collections
db.collection.find()
db.collection.findOne()
db.collection.remove(args)
db.collection.insert(args)
Nach dem Login kopieren

等。CURD操作可以参考官方文档。

如果要生成大量测试数据,我们可以在mongo shell里面写一个for循环,

for (var i = 1; i <= 25; i++) db.testData.insert( { x : i } )
Nach dem Login kopieren

或者新建一个script.js将脚本放入循环内:

function insertData(dbName, colName, num) {

  var col = db.getSiblingDB(dbName).getCollection(colName);

  for (i = 0; i < num; i++) {
    col.insert({x:i});
  }

  print(col.count());

}
Nach dem Login kopieren
如何运行这个函数呢?有两种方法:

1、将其放入"~/.mongorc.js"这个文件内

2、将其保存为script.js,然后运行mongo控制台时输入如下命令,会得到后台执行:

mongo SERVER:PORT/dbname --quiet script.js
Nach dem Login kopieren
mongo控制台启动命令还有好多参数,可以参考官方文档。

2、利用MongoDB JAR包编写Java代码访问Mongo数据库

下载MongoDB Java Driver:点击打开链接

添加进Java Project内。具体API文档可以点击这里。

Small Task

下面以一个任务为例说明用法。

任务描述:定时删除三个月前的article。其中每个article与一个聚类相关联,同时数据库中还有聚类(cluster)的数据信息。每次删除article完成后,删除对应的那些无任何文章关联的聚类。

数据类型如下:

{ "_id" : ObjectId("52df7de966f0bc5d1bf4497d"), "clusterId" : 21, "docId" : 2, "title" : "test article 1", "type" : "article" }
Nach dem Login kopieren

任务分析:

1、首先需要依据条件查询到符合“三个月前的”文章数据;

2、提取所有article的id构建成一个列表;

3、提取所有涉及到的cluster的id构建成一个没有重复元素的列表;

4、删除所有满足条件的article;

5、判断每个cluster是否已经为空,若是则进行删除聚类操作。

Java代码如下:

import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashSet;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.QueryBuilder;

public class MongoMainTest {
	static int today = 0;
	static int threeMonth = 0;

    static DBObject documentFields = new BasicDBObject();
    static DBObject clusterFields = new BasicDBObject();
    static { //此处键值设为true即代表作为返回结果键值 返回
    	documentFields.put("_id", true);
    	documentFields.put("docId", true);
    	documentFields.put("clusterId", true);
    	documentFields.put("type", true);
    	
    	clusterFields.put("clusterId", true);
    	clusterFields.put("type", true);
    } // DBCursor cursor = instanceDB.find(new BasicDBObject("assign", vouch),DocumentFields);    
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Mongo m = null;
		try {
			m = new Mongo( "10.211.55.7" , 27017 );
		} catch (UnknownHostException e) {
			e.printStackTrace();
			System.exit(0);
		}
		DB db = m.getDB("clusterDb");
//		List<String> dbs = m.getDatabaseNames();
//		System.out.println(dbs);
//		DBCollection coll = db.getCollection("rkCol");
//		BasicDBObject doc = new BasicDBObject("docId",2); //此处为书写查询方法一
//		DBCursor curs = coll.find(doc);
//		DBObject obj = (DBObject)JSON.parse("{docId: 2}"); //书写查询方法二
//		curs = coll.find(obj);
//		while(curs.hasNext()) {
//			System.out.println("Cursor Count: "+curs.count());
//			System.out.println(curs.next());
//		}
		DBCollection coll = db.getCollection("rkCol");
		QueryBuilder queryBuilder = new QueryBuilder();
		DBObject articleQuery = new BasicDBObject("type", "article")//;
									.append("timestamp", new BasicDBObject("$lt", today-threeMonth))
									.append("clusterId", true); //书写查询方法三
		
		queryBuilder.and(articleQuery); //书写查询方法四
		DBCursor curs = coll.find(queryBuilder.get()); //注意方法四在实际使用时需要调用get方法生成具体query语句
		
		ArrayList<Object> articles = new ArrayList<Object>(); //此处element类型均为Object
		HashSet<Object> clusters = new HashSet<Object>();
		DBObject article = null;
		while(curs.hasNext()) {
			article = curs.next();
			articles.add(article.get("_id"));
			clusters.add(article.get("clusterId"));
		}
		
		QueryBuilder removeBuilder = new QueryBuilder();
		//注意下句使用了$in操作符,类似于{_id: articleID1} or {_id: articleID2} or {_id: articleID3} ...
		DBObject removeObject = new BasicDBObject("_id", new BasicDBObject("$in", articles));
		removeBuilder.and(removeObject);
		
		/*打印结果*/
		coll.remove(removeBuilder.get());
		DBObject articleCountQuery = null;
		for(Object o: clusters) {
			articleCountQuery = new BasicDBObject("clusterId", o);
			curs = coll.find(articleCountQuery);
			if(curs.count() != 0) {
				clusters.remove(o);
			}
		}
		removeObject = new BasicDBObject("clusterId", new BasicDBObject("$in", clusters));
		removeBuilder.and(removeObject);
		coll.remove(removeBuilder.get());
		
		
		/**
		curs = coll.find(removeBuilder.get()); 
		articles = new ArrayList<Object>();
		clusters = new HashSet<Object>();
		article = null;
		while(curs.hasNext()) {
			article = curs.next();
			articles.add(article.get("_id"));
			clusters.add(article.get("clusterId"));
		}
		/**/
		
		System.out.println(articles);
		System.out.println(clusters);
	}

}
Nach dem Login kopieren

定时操作,参考这篇博文,利用Java代码编程实现(利用开源库Quartz)。

Linux的环境可以使用crontab工具,更为简单方便。此处所需要配合使用的JS代码简略。

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

So stellen Sie die Schriftgröße auf dem Mobiltelefon ein (Schriftgröße auf dem Mobiltelefon einfach anpassen) So stellen Sie die Schriftgröße auf dem Mobiltelefon ein (Schriftgröße auf dem Mobiltelefon einfach anpassen) May 07, 2024 pm 03:34 PM

Das Festlegen der Schriftgröße ist zu einer wichtigen Personalisierungsanforderung geworden, da Mobiltelefone zu einem wichtigen Werkzeug im täglichen Leben der Menschen geworden sind. Um den Bedürfnissen verschiedener Benutzer gerecht zu werden, wird in diesem Artikel erläutert, wie Sie das Nutzungserlebnis Ihres Mobiltelefons verbessern und die Schriftgröße des Mobiltelefons durch einfache Vorgänge anpassen können. Warum müssen Sie die Schriftgröße Ihres Mobiltelefons anpassen? Durch Anpassen der Schriftgröße kann der Text klarer und leichter lesbar werden. Geeignet für die Lesebedürfnisse von Benutzern unterschiedlichen Alters. Praktisch für Benutzer mit Sehbehinderung, die Schriftgröße zu verwenden Einstellungsfunktion des Mobiltelefonsystems – So rufen Sie die Systemeinstellungsoberfläche auf – Suchen und geben Sie die Option „Anzeige“ in der Einstellungsoberfläche ein – suchen Sie die Option „Schriftgröße“ und passen Sie sie mit einem Drittanbieter an Anwendung – Laden Sie eine Anwendung herunter und installieren Sie sie, die die Anpassung der Schriftgröße unterstützt – öffnen Sie die Anwendung und rufen Sie die entsprechende Einstellungsoberfläche auf – je nach Person

Die U.S. Air Force präsentiert ihren ersten KI-Kampfjet mit großem Aufsehen! Der Minister führte die Testfahrt persönlich durch, ohne in den gesamten Prozess einzugreifen, und 100.000 Codezeilen wurden 21 Mal getestet. Die U.S. Air Force präsentiert ihren ersten KI-Kampfjet mit großem Aufsehen! Der Minister führte die Testfahrt persönlich durch, ohne in den gesamten Prozess einzugreifen, und 100.000 Codezeilen wurden 21 Mal getestet. May 07, 2024 pm 05:00 PM

Kürzlich wurde die Militärwelt von der Nachricht überwältigt: US-Militärkampfflugzeuge können jetzt mithilfe von KI vollautomatische Luftkämpfe absolvieren. Ja, erst kürzlich wurde der KI-Kampfjet des US-Militärs zum ersten Mal der Öffentlichkeit zugänglich gemacht und sein Geheimnis gelüftet. Der vollständige Name dieses Jägers lautet „Variable Stability Simulator Test Aircraft“ (VISTA). Er wurde vom Minister der US-Luftwaffe persönlich geflogen, um einen Eins-gegen-eins-Luftkampf zu simulieren. Am 2. Mai startete US-Luftwaffenminister Frank Kendall mit einer X-62AVISTA auf der Edwards Air Force Base. Beachten Sie, dass während des einstündigen Fluges alle Flugaktionen autonom von der KI durchgeführt wurden! Kendall sagte: „In den letzten Jahrzehnten haben wir über das unbegrenzte Potenzial des autonomen Luft-Luft-Kampfes nachgedacht, aber es schien immer unerreichbar.“ Nun jedoch,

So wählen Sie eine Handy-Displayschutzfolie zum Schutz Ihres Handy-Displays aus (einige wichtige Punkte und Tipps zum Kauf von Handy-Displayschutzfolien) So wählen Sie eine Handy-Displayschutzfolie zum Schutz Ihres Handy-Displays aus (einige wichtige Punkte und Tipps zum Kauf von Handy-Displayschutzfolien) May 07, 2024 pm 05:55 PM

Handyfolie ist mit der Beliebtheit von Smartphones zu einem unverzichtbaren Zubehör geworden. Um die Lebensdauer zu verlängern, wählen Sie eine geeignete Handyfolie zum Schutz des Handydisplays. Um den Lesern die Auswahl der am besten geeigneten Handyfolie zu erleichtern, werden in diesem Artikel einige wichtige Punkte und Tipps zum Kauf von Handyfolien vorgestellt. Machen Sie sich mit den Materialien und Arten von Mobiltelefonfolien vertraut: PET-Folie, TPU usw. Mobiltelefonfolien bestehen aus einer Vielzahl von Materialien, einschließlich gehärtetem Glas. PET-Folie ist relativ weich, Hartglasfolie weist eine gute Kratzfestigkeit auf und TPU weist eine gute Stoßfestigkeit auf. Bei der Auswahl kann auf der Grundlage persönlicher Vorlieben und Bedürfnisse entschieden werden. Berücksichtigen Sie den Grad des Displayschutzes. Verschiedene Arten von Handyfolien haben unterschiedliche Grade des Displayschutzes. PET-Folie spielt hauptsächlich eine kratzfeste Rolle, während Hartglasfolie eine bessere Fallfestigkeit aufweist. Sie können sich dafür entscheiden, besser zu sein

KI-Startups wechselten gemeinsam ihre Jobs zu OpenAI, und das Sicherheitsteam formierte sich neu, nachdem Ilya gegangen war! KI-Startups wechselten gemeinsam ihre Jobs zu OpenAI, und das Sicherheitsteam formierte sich neu, nachdem Ilya gegangen war! Jun 08, 2024 pm 01:00 PM

Letzte Woche wurde OpenAI inmitten der Welle interner Kündigungen und externer Kritik von internen und externen Problemen geplagt: - Der Verstoß gegen die Schwester der Witwe löste weltweit hitzige Diskussionen aus - Mitarbeiter, die „Overlord-Klauseln“ unterzeichneten, wurden einer nach dem anderen entlarvt – Internetnutzer listeten Ultramans „ Sieben Todsünden“ – Gerüchtebekämpfung: Laut durchgesickerten Informationen und Dokumenten, die Vox erhalten hat, war sich die leitende Führung von OpenAI, darunter Altman, dieser Eigenkapitalrückgewinnungsbestimmungen wohl bewusst und hat ihnen zugestimmt. Darüber hinaus steht OpenAI vor einem ernsten und dringenden Problem – der KI-Sicherheit. Die jüngsten Abgänge von fünf sicherheitsrelevanten Mitarbeitern, darunter zwei der prominentesten Mitarbeiter, und die Auflösung des „Super Alignment“-Teams haben die Sicherheitsprobleme von OpenAI erneut ins Rampenlicht gerückt. Das Fortune-Magazin berichtete, dass OpenA

Das 70B-Modell generiert 1.000 Token in Sekunden, das Umschreiben des Codes übertrifft GPT-4o, vom Cursor-Team, einem von OpenAI investierten Code-Artefakt Das 70B-Modell generiert 1.000 Token in Sekunden, das Umschreiben des Codes übertrifft GPT-4o, vom Cursor-Team, einem von OpenAI investierten Code-Artefakt Jun 13, 2024 pm 03:47 PM

Beim Modell 70B können 1000 Token in Sekunden generiert werden, was fast 4000 Zeichen entspricht! Die Forscher haben Llama3 verfeinert und einen Beschleunigungsalgorithmus eingeführt. Im Vergleich zur nativen Version ist die Geschwindigkeit 13-mal höher! Es ist nicht nur schnell, seine Leistung bei Code-Rewriting-Aufgaben übertrifft sogar GPT-4o. Diese Errungenschaft stammt von anysphere, dem Team hinter dem beliebten KI-Programmierartefakt Cursor, und auch OpenAI beteiligte sich an der Investition. Sie müssen wissen, dass bei Groq, einem bekannten Framework zur schnellen Inferenzbeschleunigung, die Inferenzgeschwindigkeit von 70BLlama3 nur mehr als 300 Token pro Sekunde beträgt. Aufgrund der Geschwindigkeit von Cursor kann man sagen, dass eine nahezu sofortige vollständige Bearbeitung der Codedatei möglich ist. Manche Leute nennen es einen guten Kerl, wenn man Curs sagt

China Mobile: Die Menschheit tritt in die vierte industrielle Revolution ein und kündigte offiziell „drei Pläne' an China Mobile: Die Menschheit tritt in die vierte industrielle Revolution ein und kündigte offiziell „drei Pläne' an Jun 27, 2024 am 10:29 AM

Laut Nachrichten vom 26. Juni hielt Yang Jie, Vorsitzender von China Mobile, bei der Eröffnungszeremonie der World Mobile Communications Conference Shanghai (MWC Shanghai) 2024 eine Rede. Er sagte, dass die menschliche Gesellschaft derzeit in die vierte industrielle Revolution eintritt, die von Informationen dominiert und tief in Informationen und Energie integriert ist, d. h. die „Revolution der digitalen Intelligenz“, und dass sich die Bildung neuer Produktivkräfte beschleunigt. Yang Jie glaubt, dass jede Runde der industriellen Revolution darauf basiert, von der „Mechanisierungsrevolution“, angetrieben durch Dampfmaschinen, über die „Elektrifizierungsrevolution“, angetrieben durch Elektrizität und Verbrennungsmotoren, bis hin zur „Informationsrevolution“, angetrieben durch Computer und das Internet „Information und „Energie“ ist die Hauptlinie, die Produktivitätsentwicklung bringt

Ein amerikanischer Professor trainierte mit seiner zweijährigen Tochter ein KI-Modell für den Auftritt in „Science'! Junge Menschen nutzen am Kopf angebrachte Kameras, um neue KI zu trainieren Ein amerikanischer Professor trainierte mit seiner zweijährigen Tochter ein KI-Modell für den Auftritt in „Science'! Junge Menschen nutzen am Kopf angebrachte Kameras, um neue KI zu trainieren Jun 03, 2024 am 10:08 AM

Unglaublich: Um ein KI-Modell zu trainieren, befestigte ein Professor der State University of New York seiner Tochter eine GoPro-ähnliche Kamera an den Kopf! Obwohl es unglaublich klingt, ist das Verhalten dieses Professors tatsächlich begründet. Um das komplexe neuronale Netzwerk hinter LLM zu trainieren, sind umfangreiche Daten erforderlich. Ist unser aktueller LLM-Ausbildungsprozess unbedingt der einfachste und effizienteste Weg? Sicherlich nicht! Wissenschaftler haben herausgefunden, dass das Gehirn von Kleinkindern wie ein Schwamm Wasser aufnimmt und so schnell ein zusammenhängendes Weltbild bildet. Obwohl LLM zeitweise erstaunliche Leistungen erbringt, werden menschliche Kinder mit der Zeit schlauer und kreativer als das Modell! Das Geheimnis, dass Kinder die Sprache besser trainieren. Wenn Wissenschaftler über die Lösung verwirrt sind,

Wiederherstellungsmethode für Dateien, die seit mehr als sieben Tagen abgelaufen sind (So stellen Sie Dateien wieder her, die seit mehr als sieben Tagen abgelaufen sind) Wiederherstellungsmethode für Dateien, die seit mehr als sieben Tagen abgelaufen sind (So stellen Sie Dateien wieder her, die seit mehr als sieben Tagen abgelaufen sind) May 07, 2024 pm 12:37 PM

Computerdateien sind im digitalen Zeitalter zu einem unverzichtbaren Bestandteil der Arbeit und des Lebens geworden. Manchmal kann es vorkommen, dass wir versehentlich einige wichtige Dateien löschen oder verlieren, und es sind sieben Tage vergangen, sodass sie nicht über einen einfachen Papierkorb wiederhergestellt werden können. Wie sollen wir in dieser Situation Dateien wiederherstellen, die seit mehr als sieben Tagen abgelaufen sind? In diesem Artikel finden Sie einige praktische Methoden und Tipps. 1. Verwenden Sie eine Dateiwiederherstellungssoftware. Die Verwendung einer professionellen Dateiwiederherstellungssoftware ist eine der gebräuchlichsten und effektivsten Methoden zur Wiederherstellung von Dateien, die älter als sieben Tage sind. Suchen und stellen Sie gelöschte oder verlorene Dateien mit dieser Software zum Scannen von Speichergeräten wieder her. 2. Verwenden Sie die Dateiversionsfunktion, um gelöschte oder verlorene Dateien wiederherzustellen oder sogar zu ersetzen. Einige Betriebssysteme (z. B. Windows) bieten Dateiversionen

See all articles