mongodb如何向test集合中添加10000条数据,数据内容为1号-女-10000号
时间: 2024-09-23 09:10:33 浏览: 78
在MongoDB中,向`test`集合插入大量数据可以使用批量插入(Bulk Write Operations)的方式提高效率。以下是一个示例,假设你要创建的文档结构是:`{ _id: Number, gender: String, number: Number }`。
```python
from pymongo import MongoClient
# 连接到MongoDB数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['your_database_name'] # 你的数据库名
collection = db['test']
# 创建10000条数据列表
data = [{"_id": i, "gender": "女", "number": i + 1} for i in range(10000)]
# 批量插入数据
bulk_op = collection.initialize_unordered_bulk_op()
for doc in data:
bulk_op.insert(doc)
# 执行批量操作
try:
result = bulk_op.execute()
except Exception as e:
print(f"批量插入失败:{e}")
else:
print(f"成功插入了 {result['nInserted']} 条数据")
相关问题
在mongodb中如何向test集合中添加10000条数据,数据内容为1号-女-10000号
在MongoDB中,如果你想往名为`test`的集合中插入大量数据,你可以使用`bulkWrite()`方法一次性插入多条文档。这里是一个示例,假设你要创建的数据结构是:每个文档包含一个唯一的编号、性别(字符串)和编号范围:
```javascript
// 定义批量操作
var bulkOps = [];
for (let i = 1; i <= 10000; i++) {
let data = { id: i, gender: '女', range: `${i}-10000` };
bulkOps.push({ insertOne: { document: data } });
}
// 执行批量插入
db.test.bulkWrite(bulkOps);
```
这个脚本会循环创建10000个文档,然后将它们添加到`test`集合中。
如果你使用Node.js的Mongoose库,可以这样做:
```javascript
const mongoose = require('mongoose');
const TestSchema = new mongoose.Schema({
id: Number,
gender: String,
range: { type: String, format: 'number-to-string' },
});
TestSchema.path('range').validate((range) => {
const [start, end] = range.split('-');
return parseInt(start) === start && parseInt(end) === end;
}, '范围格式错误');
const TestModel = mongoose.model('Test', TestSchema);
async function insertData() {
for (let i = 1; i <= 10000; i++) {
await TestModel.create({ id: i, gender: '女', range: `${i}-${10000}` });
}
}
insertData();
```
阅读全文