使用Node.js读取大文本文件并将每个单词保存到MongoDB中,可以按照以下步骤进行:
npm init -y
npm install mongodb readline
index.js
的文件,并在文件中编写以下代码:const fs = require('fs');
const readline = require('readline');
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017'; // MongoDB连接URL
const dbName = 'your_database_name'; // 数据库名称
const collectionName = 'your_collection_name'; // 集合名称
// 创建MongoDB连接
MongoClient.connect(url, { useUnifiedTopology: true }, (err, client) => {
if (err) {
console.error('Failed to connect to MongoDB:', err);
return;
}
console.log('Connected to MongoDB');
const db = client.db(dbName);
const collection = db.collection(collectionName);
// 读取大文本文件
const fileStream = fs.createReadStream('path_to_your_text_file');
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
const words = new Set(); // 使用Set来存储唯一的单词
rl.on('line', (line) => {
const lineWords = line.split(' ');
lineWords.forEach((word) => {
// 过滤掉非单词字符
const cleanedWord = word.replace(/[^a-zA-Z]/g, '');
if (cleanedWord.length > 0) {
words.add(cleanedWord.toLowerCase());
}
});
});
rl.on('close', () => {
const wordsArray = Array.from(words);
// 将单词保存到MongoDB中
collection.insertMany(wordsArray, (err, result) => {
if (err) {
console.error('Failed to insert words into MongoDB:', err);
return;
}
console.log('Words inserted into MongoDB:', result.insertedCount);
client.close();
});
});
});
请注意,上述代码中的your_database_name
和your_collection_name
需要替换为实际的数据库名称和集合名称,path_to_your_text_file
需要替换为实际的大文本文件路径。
node index.js
代码将读取大文本文件,并将每个单词保存到MongoDB的指定集合中。
这是一个基本的示例,你可以根据实际需求进行修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云