为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb 连接后怎么操作

/ 猿问

mongodb 连接后怎么操作

慕婉清6462132 2019-03-07 10:06:51

mongodb 连接后怎么操作


查看完整描述

2 回答

?
元芳怎么了


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

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

package com.hills.happytest;  

   

   

import java.util.List;  

   

import android.app.Activity;  

import android.app.AlertDialog;  

import android.content.DialogInterface;  

import android.os.AsyncTask;  

import android.os.Bundle;  

import android.view.View;  

import android.view.View.OnClickListener;  

import android.widget.Button;  

   

import com.hills.happytest.utils.MongoDBDao;  

import com.hills.happytest.utils.MongoDBUtil;  

/** 

 *  Class Name: TestActivity.java 

 *  Function: 

 *          Test MongoDB Operate on Android device. 

 *     Modifications:    

 *   

 *  @author Gym Yung.  

 *  @DateTime 2014-10-29 下午1:53:40     

 *  @version 1.0 

 */  

public class TestActivity extends Activity implements OnClickListener{  

    /************** Component in Layout. ***************/  

    private Button mongoTestBtn1;  

    private Button mongoTestBtn2;  

    private Button mongoTestBtn3;  

    private Button mongoTestBtn4;  

    private Button mongoTestBtn5;  

    private Button mongoTestBtn6;  

    private Button mongoTestBtn7;  

    private Button mongoTestBtn8;  

    // The Object use to MongoDB Operate.  

    private MongoDBDao mongoDbDao;  

    // The Collection Name in MongoDB.  

    private String collName = "androidDB";  

       

    /************** Operate Code ********************/  

    private final int CREATE_COLLECTION_TEST = 100;  

    private final int INSERT_TEST = 101;  

    private final int INSERT_BATCH_TEST = 102;  

    private final int DELETE_BY_ID_TEST = 103;  

    private final int DELETE_BY_DBS_TEST = 104;  

    private final int UPDATE_TEST = 105;  

    private final int FIND_WITH_PAGE_TEST = 106;  

    private final int FIND_NOPAGE_TEST = 107;  

   

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.mongodb_test);  

           

        findViewAndSetListener();  

           

        mongoDbDao = new MongoDBDao();  

    }  

   

    /** 

     *  Function: 

     *      Find View And Set Listener. 

     *  @author Administrator  

     *  @DateTime 2014-10-29 下午1:08:50 

     */  

    private void findViewAndSetListener() {  

        mongoTestBtn1 = (Button) findViewById(R.id.mongodb_btn1);  

        mongoTestBtn2 = (Button) findViewById(R.id.mongodb_btn2);  

        mongoTestBtn3 = (Button) findViewById(R.id.mongodb_btn3);  

        mongoTestBtn4 = (Button) findViewById(R.id.mongodb_btn4);  

        mongoTestBtn5 = (Button) findViewById(R.id.mongodb_btn5);  

        mongoTestBtn6 = (Button) findViewById(R.id.mongodb_btn6);  

        mongoTestBtn7 = (Button) findViewById(R.id.mongodb_btn7);  

        mongoTestBtn8 = (Button) findViewById(R.id.mongodb_btn8);  

           

        mongoTestBtn1.setOnClickListener(this);  

        mongoTestBtn2.setOnClickListener(this);  

        mongoTestBtn3.setOnClickListener(this);  

        mongoTestBtn4.setOnClickListener(this);  

        mongoTestBtn5.setOnClickListener(this);  

        mongoTestBtn6.setOnClickListener(this);  

        mongoTestBtn7.setOnClickListener(this);  

        mongoTestBtn8.setOnClickListener(this);  

    }  

   

   

    @Override  

    public void onClick(View v) {  

        MyAsyncTast myAsyncTast = new MyAsyncTast();  

        switch(v.getId()){  

        case R.id.mongodb_btn1:  

            myAsyncTast.execute(CREATE_COLLECTION_TEST);  

            break;  

        case R.id.mongodb_btn2:  

            myAsyncTast.execute(INSERT_TEST);  

            break;  

        case R.id.mongodb_btn3:  

            myAsyncTast.execute(INSERT_BATCH_TEST);  

            break;  

        case R.id.mongodb_btn4:  

            myAsyncTast.execute(DELETE_BY_ID_TEST);  

            break;  

        case R.id.mongodb_btn5:  

            myAsyncTast.execute(DELETE_BY_DBS_TEST);  

            break;  

        case R.id.mongodb_btn6:  

            myAsyncTast.execute(UPDATE_TEST);  

            break;  

        case R.id.mongodb_btn7:  

            myAsyncTast.execute(FIND_WITH_PAGE_TEST);  

            break;  

        case R.id.mongodb_btn8:  

            myAsyncTast.execute(FIND_NOPAGE_TEST);  

            break;  

        }  

    }  

       

       

    /** 

     *  Class Name: TestActivity.java 

     *  Function: 

     *          Execute Internet Task by Async... 

     *     Modifications:    

     *   

     *  @author Administrator  

     *  @DateTime 2014-10-29 下午1:54:34     

     *  @version 1.0 

     */  

    class MyAsyncTast extends AsyncTask<Object, Object, Object>{  

   

        @Override  

        protected Object doInBackground(Object... params) {  

            Object result = null;  

            switch(Integer.parseInt(params[0].toString()))  

            {  

                case CREATE_COLLECTION_TEST:  

                    mongoDbDao.createCollectionTest(collName);  

                    break;  

                case INSERT_TEST:  

                    mongoDbDao.insertTest(collName);  

                    break;  

                case INSERT_BATCH_TEST:  

                    mongoDbDao.insertBatchTest(collName);  

                    break;  

                case DELETE_BY_ID_TEST:  

                    result = mongoDbDao.deleteByIdTest(collName);  

                    break;  

                case DELETE_BY_DBS_TEST:  

                    result = mongoDbDao.deleteByDbsTest(collName);  

                    break;  

                case UPDATE_TEST:  

                    result = mongoDbDao.updateTest(collName);  

                    break;  

                case FIND_WITH_PAGE_TEST:  

                    result = mongoDbDao.findWithPageTest(collName);  

                    break;  

                case FIND_NOPAGE_TEST:  

                    result = mongoDbDao.findNoPageTest(collName);  

                    break;  

            }  

            return result;  

        }  

           

        @SuppressWarnings("unchecked")  

        @Override  

        protected void onPostExecute(Object result) {  

            if(result instanceof Integer)  

            {  

                showDialogWithText("操作结果码:"+result.toString());  

            }else if(result instanceof List)  

            {  

                String resText = "";  

                for(String res : ((List<String>) result))  

                {  

                    resText += res + "\n";  

                }  

                showDialogWithText("操作结果\n:"+resText);  

            }  

               

            super.onPostExecute(result);  

        }  

    }  

       

       

    /** 

     *  Function: 

     *      Show Dialog With Text. 

     *  @author Administrator  

     *  @DateTime 2014-10-29 下午1:21:34 

     *  @param text 

     */  

    private void showDialogWithText(String text)  

    {  

        AlertDialog.Builder builder = new AlertDialog.Builder(this);  

        builder.setIcon(R.drawable.ic_launcher);  

        builder.setTitle("MongoDB操作结果");  

        builder.setMessage(text);  

        builder.setNeutralButton("确定", new DialogInterface.OnClickListener()  

        {  

               

            @Override  

            public void onClick(DialogInterface dialog, int which)  

            {  

                dialog.dismiss();  

            }  

        });  

           

        builder.create().show();  

    }  

       

       

    @Override  

    protected void onDestroy() {  

        // Close MongoDB Connection If It is Not Null.  

        if(MongoDBUtil.getConnection() != null)  

        {  

            MongoDBUtil.getConnection().close();  

        }  

        super.onDestroy();  

    }  

}


 


查看完整回答
反对 2019-03-16
?
当年话下

1、基于mongo实现远程连接

[plain] view plaincopy

mongo -u admin -p admin 192.168.0.197:27017/pagedb

通过mongo实现连接,可以非常灵活的选择参数选项,参看命令帮助,如下所示:

[plain] view plaincopy

mongo --help
MongoDB shell version: 1.8.3
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
foo foo database on local machine
192.169.0.5/foo foo database on 192.168.0.5 machine
192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999
options:
--shell run the shell after executing files
--nodb don't connect to mongod on startup - no 'db address'
arg expected
--quiet be less chatty
--port arg port to connect to
--host arg server to connect to
--eval arg evaluate javascript
-u [ --username ] arg username for authentication
-p [ --password ] arg password for authentication
-h [ --help ] show this usage information
--version show version information
--verbose increase verbosity
--ipv6 enable IPv6 support (disabled by default)

2、基于MongoDB支持的javascript实现远程连接

当你已经连接到一个远程的MongoDB数据库服务器(例如,通过mongo连接到192.168.0.184),现在想要在这个会话中连接另一个远程的数据库服务器(192.168.0.197),可以执行如下命令:

[plain] view plaincopy

> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb');
> use ydb
switched to db ydb
> db
ydb
> ydb.page.findOne()
{
"_id" : ObjectId("4eded6a5bf3bfa0014000003"),
"content" : "巴黎是浪漫的城市,可是...",
"pubdate" : "2006-03-19",
"title" : "巴黎:从布鲁塞尔赶到巴黎",
"url" : "http://france.bytravel.cn/Scenery/528/cblsegdbl.html"
}

上述通过MongoDB提供的JavaScript脚本,实现对另一个远程数据库服务器进行连接,操作指定数据库pagedb的page集合。

如果启用了安全认证模式,可以在获取数据库连接实例时,指定认证账号,例如:

[plain] view plaincopy

> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb', 'shirdrn', '(jkfFS$343$_\=\,.F@3');
> use ydb
switched to db ydb



查看完整回答
反对 2019-03-16

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信