js和mongo这种灵活的数据库简直太搭了,平时写点临时的脚本很方便
const mongoose = require('mongoose');
// npm install mongoose
const username = 'XXXX';
const password = 'XXX';
const dbName = 'admin';
mongoose.connect(`mongodb://${username}:${password}@localhost:27017/${dbName}`, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log('Connected to database');
}).catch((err) => {
console.log('Failed to connect to database', err);
});
const genericSchema = mongoose.Schema({}, { strict: false });
var collectionName = "zhang"
const GenericModel = mongoose.model(collectionName, genericSchema,collectionName);
var arr = ["1","2","3"]
const sleep = function (ms){
return new Promise(resolve => setTimeout(resolve, ms))
}
const data = {
field1: 'value1',
field2: {
subfield1: 'subvalue1',
subfield2: 'subvalue2'
},
field3: [1, 2, 3]
};
const request = async function(){
for(let i=0;i<arr.length;i++){
data.index = i;
data.time = new Date()
// 写入数据
const doc = new GenericModel(data);
doc.save()
.then(() => console.log('Data saved successfully'))
.catch(err => console.error('Error while saving data', err));
await sleep(1700)
}
}
// request()
// 查询数据
GenericModel.find({ index: { $gt: 0 }})
.then(users => console.log(users))
.catch(err => console.error(err));
// 更新数据 updateMany 更新多条数据
GenericModel.updateOne(
{ index: 0 },
{ $set: { name: "milo000" } }
)
.then(result => console.log(result))
.catch(err => console.error(err));
GenericModel.deleteOne({ firstName: 'John' })
.then(result => console.log(result))
.catch(err => console.error(err));
GenericModel.deleteMany({ age: { $lt: 18 } })
.then(result => console.log(result))
.catch(err => console.error(err));
本来想存到公司笔记里,结果保存失败,可能是有password这种敏感字吧,哈哈哈