好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mongodb操作的模块手动封装

mongodb操作的模块手动封装

[注]:这些代码都是基于nodejs进行的.

在nodejs目录下创建一个模块文件*.js,以便调用,

以下是模块代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

function mongodbModel(dbname,dataform) {

   var MongoClient;

   var DB_CONN_STR;

   this .init = function () {

       MongoClient = require( 'mongodb' ).MongoClient;

       DB_CONN_STR = 'mongodb://localhost:27017/' + dbname;

   }

   /*这里是插入数据*/

   this .insert = function (data,callback) {

     MongoClient.connect(DB_CONN_STR, function (err, db) {

       console.log( '连接成功' )

       var collection = db.collection(dataform);

       collection.insert(data, function (err,result){

         callback(err,result);

       })

     })

   }

   /*这里是删除数据*/

   this .remove = function (data,callback){

     MongoClient.connect(DB_CONN_STR, function (err, db) {

       console.log( '连接成功' )

       var collection = db.collection(dataform);

       collection.remove(data, function (err,result){

         callback(err,result);

       })

     })

   }

   /*这里是修改*/

   this .update= function (data,updata,callback){

     MongoClient.connect(DB_CONN_STR, function (err, db) {

       console.log( '连接成功' )

       var collection = db.collection(dataform);

       collection.update(data,updata, function (err,data){

         callback(err,data);

       })

     })

   }

   /*这里是查询*/

   this .find= function (data,callback){

     MongoClient.connect(DB_CONN_STR, function (err, db) {

       console.log( '连接成功' )

       var collection = db.collection(dataform);

       collection.find(data).toArray( function (err,data){

         callback(err,data);

       })

     })

   }

}

 

module.exports = mongodbModel;

如何使用:

在同目录下创建一个调用文件*.js

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

var mongodbModel = require( './mongodbModel' );

var mongodbObject = new mongodbModel( 'seraph' , 'singer' );

mongodbObject.init();

 

/*这里是插入*/

mongodbObject.insert({name: '啊xx' }, function (err,data){

   if (err){

     console.log(err);

   } else {

     console.log(data);

   }

})

 

/*这是删除*/

mongodbObject.remove({name: '啊xiao' }, function (err,data){

   if (err){

     console.log(err);

   } else {

     console.log( '成功删除指定数据' );

   }

})

 

/*这里是修改*/

mongodbObject.update({name: '小李' },{$set:{name: '小勇' }}, function (err,data){

   if (err){

     console.log(err);

   } else {

     console.log(data);

   }

})

 

/*这里是条件查询*/

mongodbObject.find({name: '李洛克' }, function (err,data){

   if (err){

     console.log(err);

   } else {

     console.log(data);

   }

})

相关参数:

dbname:是指要操作的database;
dataform:是指要操作的数据表;
data:表示需要插入或者查询或者修改的数据;
updata:表示修改后的数据;

个人在封装的时候,callback()是个难点

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/xxhdcblogzh888/article/details/75389777

查看更多关于mongodb操作的模块手动封装的详细内容...

  阅读:20次