插入数据
- 插入多条数据
//要操作的数据库的url,数据库名为test
var url='mongodb://localhost:27017/test';
var insert_many = (db, callback)=> {
const collection=db.collection("users"); //连接到数据库下的"users" collection
const data=[{name:"Look",age:"45"},
{name:"Rose",age:"27"}];
//insertMany()为操作数据库的API
collection.insertMany(data,(err,result)=>{
if(err){
console.log("ERROR");
}else{
callback(result);
}
});
};
//连接数据库
MongoClient.connect(url, (err,db)=> {
console.log("连接成功!");
insert_many(db,(result)=>{
console.log("成功插入多条数据");
});
});
- 删除数据
var url='mongodb://localhost:27017/test';
var delete_one=(db,callback)=>{
const collection=db.collection("users");
collection.deleteOne({name:"Rose"},(err,result)=>{
if(err){
console.log("ERROR");
}else{
callback(result);
}
db.close();
})
};
MongoClient.connect(url, (err, db)=> {
console.log("连接成功!");
delete_one(db,(result)=>{
console.log(result);
});
});
具有删除功能的API还有deleteMany
,区别是:
deleteOne()
只会删除查找到的第一条符合条件的数据
deleteMany()
会删除所有查找到的符合条件的数据
- 修改数据
var url='mongodb://localhost:27017/test';
var update_one=(db,callback)=>{
const collection=db.collection("users");
collection.updateOne({name:"Rose"},{$set:{age:"30"}},(err,result)=>{
if(err){
console.log("ERROR");
}else{
callback(result);
}
db.close()
});
};
MongoClient.connect(url,(err,db)=>{
console.log("连接成功");
update_one(db,(result)=>{
console.log(result);
});
});
具有修改功能的API还有updateMany()
,区别和上边类似,updateOne()
是修改一条数据,而updateMany()
是修改所有数据
- 查找数据
//查找一条数据
var url='mongodb://localhost:27017/test';
var find_one = (db, callback)=> {
const collection=db.collection("users");
collection.findOne({name:"Bob"},(err,result)=>{
if(err){
console.log("ERROR");
}else{
console.log("查找成功");
callback(result);
}
db.close();
})
};
MongoClient.connect(url, (err, db)=> {
console.log("连接成功!");
find_one(db,(result)=>{
console.log(result);
});
});
//查找所有数据
const find_all=(db,callback)=>{
const collection=db.collection("users");
//查找 users 文档中的所有数据
collection.find({}).toArray((err,result)=>{
if(err){
console.log("ERROR");
}else{
console.log(" callback before");
callback(result);
console.log("callback after");
}
});
};
MongoClient.connect(url,(err,db)=>{
//连接到表 users
console.log("连接成功!");
find_all(db,(result)=>{
console.log(result.length);
for(var i=0;i<result.length;i++){
console.log(result[i]);
}
db.close();
});
});
本篇文章是Node.js操作数据库的简单用法,随后还会有补充。
更多示例请点这里