node操作mongoDB 入门
首先下载mongoDB包
npm install mongodb
需求
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
链接地址
var url = 'mongodb://127.0.0.1:27017/ceshi';
连接数据库
MongoClient.connect(url, function(err, db) {//连接数据库
assert.equal(null, err);
console.log("正确地连接到服务器。");
/*可选执行*/
/*执行插入*/
// insertDocument(db,function(){
// db.close();
// });
/*执行查询*/
// findRestaurants(db, function() {
// db.close();
// });
/*更新*/
// updateRestaurants(db, function() {
// db.close();
// });
/*删除文档*/
// removeRestaurants(db, function() {
// db.close();
// });
/*删除集合*/
dropRestaurants(db, function() {
db.close();
});
});
增查改删
增
var insertDocument = function(db, callback) {//把数据插入集合,如果没有集合就创建集合
db.collection('user').insertOne( {
"name" : "hanzi@xx.com",
"password" : "12345566"
}, function(err, result) {
assert.equal(err, null);
console.log("文档插入user集合。");
callback();
});
};
//insert 插入文件集合
/*
var a = [
{
"name" : "1@xx.com",
"password" : "12345566"
},
{
"name" : "2@xx.com",
"password" : "12345566"
},
{
"name" : "3@xx.com",
"password" : "12345566"
}
]
var insertDocument = function(db, callback) {//把数据插入集合,如果没有集合就创建集合
db.collection('user').insert( a, function(err, result) {
assert.equal(err, null);
console.log("文档插入user集合。");
callback();
});
};
*/
查
var findRestaurants = function(db, callback) {//查找集合
/*字段查询*/
//var cursor =db.collection('user').find( );//所有文档查询
//var cursor =db.collection('user').find( { "name": "hanzi@xx.com" } );//数据最外层查询(顶级域)
//var cursor =db.collection('user').find( { "address.zipcode": "10075" } );//文档内部字段的查询
//var cursor =db.collection('user').find( { "grades.grade": "B" } );//数组中的字段查询
/*运算符,逻辑符等文档https://docs.mongodb.org/manual/reference/operator/query/*/
/*运算符查询*/
//var cursor =db.collection('user').find( { "grades.score": { $gt: 30 } } );//大于运算符
//var cursor =db.collection('user').find( { "grades.score": { $lt: 10 } } );//小于运算符
/*逻辑查询*/
//var cursor =db.collection('user').find( { "cuisine": "Italian", "address.zipcode": "10075" } );//逗号代表逻辑和(且)
//var cursor =db.collection('user').find( { $or: [ { "cuisine": "Italian" }, { "address.zipcode": "10075" } ] } );//或
/*排序查询*/
var cursor =db.collection('user').find().sort( { "_id": -1} );//升1,降-1
cursor.each(function(err, doc) {
assert.equal(err, null);
if (doc != null) {
//console.dir(doc);
console.log(doc)
} else {
callback();
}
});
};
改
var updateRestaurants = function(db, callback) {
/*从顶级域更新*/
// db.collection('restaurants').updateOne(
// { "name" : "Vella" },
// {
// $set: { "cuisine": "American (New)" },
// $currentDate: { "lastModified": true }
// }, function(err, results) {
// console.log(results);
// callback();
// });
/*从内部更新*/
db.collection('user').updateOne(
{ "name" : "123@xx.com" },
{ $set: { "name": "15648798@xx.cn" } },
function(err, results) {
console.log(results);
callback();
});
/*多个文件更新*/
// db.collection('user').updateMany(
// { "password": "12345566"},
// {
// $set: { "password": "23333" }
// }
// ,
// function(err, results) {
// console.log(results);
// callback();
// });
/*替换文件*/
// db.collection('restaurants').replaceOne(
// { "restaurant_id" : "41704620" },
// {
// "name" : "程"
// },
// function(err, results) {
// console.log(results);
// callback();
// });
};
删
删除文档
var removeRestaurants = function(db, callback) {
/*删除多个文档*/
// db.collection('restaurants').deleteMany(
// { "borough": "Manhattan" },
// function(err, results) {
// console.log(results);
// callback();
// }
// );
/*删除单个文档*/
// db.collection('restaurants').deleteOne(
// { "borough": "Manhattan" },
// function(err, results) {
// console.log(results);
// callback();
// }
// );
/*删除全部文档*/
db.collection('restaurants').deleteMany( {}, function(err, results) {
console.log(results);
callback();
});
};
删除集合
var dropRestaurants = function(db, callback) {
db.collection('restaurants').drop( function(err, response) {
console.log(response)
callback();
});
};
上一篇:node实现聊天室功能
下一篇:浏览器touch兼容方法
评论