-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathuser_manual.html
2155 lines (2024 loc) · 161 KB
/
user_manual.html
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!--[if IE 8]>
<html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]>
<html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!-->
<html lang="en"> <!--<![endif]-->
<head>
<title>Nosqlclient Documentation - User Manual</title>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="favicon.ico">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800'
rel='stylesheet' type='text/css'>
<!-- Global CSS -->
<link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Plugins CSS -->
<link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="assets/plugins/prism/prism.css">
<link rel="stylesheet" href="assets/plugins/lightbox/dist/ekko-lightbox.min.css">
<link rel="stylesheet" href="assets/plugins/elegant_font/css/style.css">
<!-- Theme CSS -->
<link id="theme-style" rel="stylesheet" href="assets/css/styles.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="body-green">
<div class="page-wrapper">
<!-- ******Header****** -->
<header id="header" class="header">
<div class="container">
<div class="branding">
<h1 class="logo">
<a href="index.html">
<span aria-hidden="true" class="icon_documents_alt icon"></span>
<span class="text-highlight">Nosql</span><span class="text-bold">Client</span>
</a>
</h1>
</div><!--//branding-->
<ol class="breadcrumb">
<li><a href="index.html">Home</a></li>
<li class="active">User Manual</li>
</ol>
</div><!--//container-->
</header><!--//header-->
<div class="doc-wrapper">
<div class="container">
<div id="doc-header" class="doc-header text-center">
<h1 class="doc-title"><i class="icon fa fa-archive"></i> User Manual</h1>
<div class="meta"><i class="fa fa-clock-o"></i> Version 2.2.0</div>
</div><!--//doc-header-->
<div class="doc-body">
<div class="doc-content">
<div class="content-inner">
<section id="toc-section" class="doc-section">
<h2 class="section-title">Table of Contents</h2>
<div class="section-block">
<p>
This guide covers, <b>how to</b> use Nosqlclient. Each section in here is
marked as one of <b>Novice/Proficient/Expert</b> levels, based on how deep knowledge
is required to understand section content.
</p>
<p>You can just use <b>CTRL+F</b>,
since this is a single page documentation. If you still can't reach what you're
looking for (after checking this guide and it's details) you can send a support
e-mail with the details of what you're looking for
to <a href="mailto:[email protected]" target="_top">[email protected]</a></p>
<p>Check all features of nosqlclient, <a href="start.html#features-section"> click
here</a></p>
</div>
</section><!--//doc-section-->
<section id="keywords-section" class="doc-section">
<h2 class="section-title">Glossary</h2>
<div class="section-block">
<h6>Novice Section</h6>
<p>
There're some keywords you need to know before using Nosqlclient and before reading
this guide to understand
fully
what you're doing. This section is more likely for beginners, if you wish, you can
pass to <a class="scrollto" href="#design-section"> next section</a>
</p>
<p>The explanations here are partially excerpt from <a href="https://docs.mongodb.com">
MongoDB official documentation.</a> It's
highly recommended to read detailed explanation from there.</p>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Keyword</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th id="keywords-1" scope="row">1</th>
<td>Connection</td>
<td>A Connection in Nosqlclient is a <b>combination of settings that
are required to connect to a MongoDB</b>. Some of these settings
are
<i>authentication type, hostname, port, db name, password,
username
etc.</i>
</td>
</tr>
<tr>
<th id="keywords-2" scope="row">2</th>
<td>Bson</td>
<td>
MongoDB represents JSON documents in binary-encoded format
called BSON behind the scenes. <b>BSON extends the JSON
model</b> to
provide additional data types, ordered fields, and to be
efficient for encoding and decoding within different languages.
</td>
</tr>
<tr>
<th id="keywords-3" scope="row">3</th>
<td>Extended Json</td>
<td>
JSON can only represent a subset of the types supported by <b>BSON</b>.
To preserve type information, MongoDB adds some
extensions to the JSON format, and <b>Nosqlclient takes
advantage
of these extensions for queries.</b>
</td>
</tr>
<tr>
<th id="keywords-4" scope="row">4</th>
<td>Document</td>
<td>
MongoDB stores data records as BSON documents, a document is
analogous to a <b>row</b> in <b>relational databases</b>.
</td>
</tr>
<tr>
<th id="keywords-5" scope="row">5</th>
<td>Collection</td>
<td>
MongoDB stores documents in collections. Collections are
analogous to <b>tables</b> in <b>relational databases</b>.
</td>
</tr>
<tr>
<th id="keywords-6" scope="row">6</th>
<td>Shell</td>
<td>
The mongo shell is an interactive JavaScript interface to
MongoDB. As some people may prefer to work with shell,
Nosqlclient
offers <b>the same shell with auto completion feature</b>.
</td>
</tr>
<tr>
<th id="keywords-7" scope="row">7</th>
<td>Aggregation</td>
<td>
Aggregation operations process data records and return computed
results. Nosqlclient offers a nice intuitive tool to
<b>combine/reorder and execute
aggregation stages of MongoDB</b>.
</td>
</tr>
<tr>
<th id="keywords-8" scope="row">8</th>
<td>Indexes</td>
<td>
Indexes support the efficient execution of queries in MongoDB.
Without indexes, MongoDB must perform a collection scan, i.e.
scan every document in a collection, to select those documents
that match the query statement. You can easily <b>see and manage
your indexes (with their usages)</b> via Nosqlclient.
</td>
</tr>
<tr>
<th id="keywords-9" scope="row">9</th>
<td>Administration</td>
<td>
Nosqlclient has a section for <b>administration operations</b>
in
MongoDB, these are <i>user management, dump/restore/import, and
some sort of administration queries</i>
</td>
</tr>
<tr>
<th id="keywords-10" scope="row">10</th>
<td>Database Stats</td>
<td>
If you have the required privileges, Nosqlclient offers nicely
designed charts to show your operations, memory, active
read/writes and <i>some other statistics</i> These are explained
more briefly in
below sections. <b>You may prefer to skip these, if you're not
familiar with administration</b>
</td>
</tr>
<tr>
<th id="keywords-11" scope="row">11</th>
<td>Schemaless</td>
<td>
MongoDB is a JSON-style data store. The documents stored in the
database can have varying sets of fields, with different types
for each field. You can <a
href="https://www.mongodb.com/blog/post/why-schemaless">
read more here</a>
</td>
</tr>
<tr>
<th id="keywords-12" scope="row">12</th>
<td>Schema Analyze</td>
<td>
Since MongoDB is a schemaless database, you may want to know
what's the structure of your collection, and the distribution of
the fields and their types. Nosqlclient uses <a
href="https://github.com/variety/variety"> variety</a> to
show these to you.
</td>
</tr>
<tr>
<th id="keywords-13" scope="row">13</th>
<td>Stored Functions</td>
<td>
There is a special system collection named system.js that can
store JavaScript functions for reuse, here you can use
<b>Nosqlclient to manage these functions with a few clicks.</b>
</td>
</tr>
<tr>
<th id="keywords-14" scope="row">14</th>
<td>Query</td>
<td>
Nosqlclient lets you to pick one of the queries regarding your
wish whenever you choose a collection from left panel, some of
these are <b>find, findOne, updateMany, delete, count,
insertMany...</b>
</td>
</tr>
<tr>
<th id="keywords-15" scope="row">15</th>
<td>Query Option</td>
<td>
Most of the queries has it's own options that you can pick in
Nosqlclient. For
example <b>find</b> query includes options such as <i>sort,
projection, limit etc</i>
</td>
</tr>
<tr>
<th id="keywords-16" scope="row">16</th>
<td>Selector</td>
<td>
Most of the queries like <b>find, update</b> needs a document or
array of documents to match your query from the collection,
selector is a document or array of documents regarding the
selected query.
</td>
</tr>
<tr>
<th id="keywords-17" scope="row">17</th>
<td>Mongod/Mongos</td>
<td>
<b>Mongod</b> is the primary daemon process for the MongoDB
system, and <b>Mongos</b> is a routing service for sharding. <a
href="https://docs.mongodb.com/manual/reference/program/mongos/">Read
here</a> for further information
</td>
</tr>
<tr>
<th id="keywords-18" scope="row">18</th>
<td>Connection URL</td>
<td>To connect a mongod/mongos instance, you can create a URL and
use it in MongoDB shell or in Nosqlclient, you can read more <a
href="https://docs.mongodb.com/manual/reference/connection-string/#connection-string-uri-format">from
here</a> about URL formats
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section><!--//doc-section-->
<section id="design-section" class="doc-section">
<h2 class="section-title">Nosqlclient Features</h2>
<div class="section-block">
<h6>Multiple Levels Section (Novice/Proficient/Expert)</h6>
<p>
Nosqlclient has been designed by emphasising on end user's need, so it offers an
intuitive design and lets you to query your database with a few clicks. There's no
over-thought-out buttons or labels anywhere.
</p>
<p>
Nosqlclient is a combination of two panels at its simplest. <b>Left panel</b> keeps
feature menus, your collections, and shortcuts.
<b>Right panel</b> keeps the content of the selected menu from the left side.
</p>
<p>This section includes multiple level information about Nosqlclient and MongoDB, you
can see these
levels near the title of the corresponding section. </p>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="connections">Connections (Novice Level)</h4>
<p>When you first <a class="scrollto" href="start.html#installation-section">
deploy, install</a>
or open Nosqlclient an empty screen with two
buttons at right upper corner welcomes you.</p>
<div class="row">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-3 col-md-6 col-sm-6 col-xs-6">
<div class="screenshot-holder">
<a href="assets/images/screenshots/welcome_screen.png"
data-title="Welcome Screen" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/welcome_screen.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/welcome_screen.png"
data-title="Welcome Screen" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<p>To create a <a class="scrollto" href="#keywords-1">connection</a> you
need to click <img src="assets/images/screenshots/connect_button.png">
button.
</p>
<p>There you you create a new connection and connect to your <a
href="#keywords-17" class="scrollto">mongod/mongos</a> instance,
you'll see a modal window that will let you to do these processes</p>
<div class="row">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-3 col-md-6 col-sm-6 col-xs-6">
<div class="screenshot-holder">
<a href="assets/images/screenshots/connect_modal.png"
data-title="Connection Modal Window" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/connect_modal.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/connect_modal.png"
data-title="Connection Modal Window" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<p>In this modal window, there's a table that shows you your connection
list, a <b>Create New</b> button to create connections, and <b>Connect
Now</b> button to connect to your database instance.</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="create_connection">Add Connection</h6>
<p>As soon as you press the <b>Create New</b> button on <a
href="#connections" class="scrollto">connections modal</a>
You'll see a new modal window that lets you to create a new connection.
In this window there're two fields at the very top of the modal window,
and there's a tab view below them
</p>
<p>Below, you can find explanation of the tabs that's placed in this modal
window.</p>
</div>
</div>
<div class="row">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-3 col-md-6 col-sm-6 col-xs-6">
<div class="screenshot-holder">
<a href="assets/images/screenshots/add_connection.png"
data-title="Add Connection Modal Window" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/add_connection.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/add_connection.png"
data-title="Add Connection Modal Window" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6>Contents of Add Connection Modal Window</h6>
<ol class="list">
<li><a class="scrollto" href="#connection_name_url_tab">Connection Name
& Url</a>
</li>
<li><a class="scrollto" href="#connection_tab">Connection Tab</a>
</li>
<li><a class="scrollto" href="#authentication_tab">Authentication
Tab</a>
</li>
<li><a class="scrollto" href="#ssl_tab">SSL Tab</a>
</li>
<li><a class="scrollto" href="#ssh_tab">SSH Tab</a>
</li>
<li><a class="scrollto" href="#options_tab">Options Tab</a>
</li>
</ol>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="connection_name_url_tab">1. Connection Name & Url</h6>
<p><b>Connection Name</b> is just like a reminder for you, it will be shown
in the table of
<a href="#connections" class="scrollto">connections</a> modal
window. But it's <b>optional</b> to giving a name to your connection.
</p>
<p><a href="#keywords-18" class="scrollto"> <b>Connection URL</b></a> lets
you to use your URL instead of entering all parameters to connect to
your instance. As a huge flexibility, <b>Nosqlclient</b> fills
possible parameters as read-only in the tabs whenever you enter the
connection url. There's an example URL below that will fill the options
in the list after it.
<br/>
<br/>
<code>mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000</code>
<br/>
<ol class="list">
<li>Host <code>db1.example.net</code> with port <code>27017</code>
</li>
<li>Host <code>db2.example.net</code> with port <code>2500</code></li>
<li>Replica set name as <code>test</code></li>
<li>Connection timeout as <code>300000</code></li>
</ol>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="connection_tab">2. Connection Tab</h6>
<p>
<b>Host</b> is the server address that <a class="scrollto"
href="#keywords-17">mongod</a>
instance is running on
</p>
<p>
<b>Port</b> is the port of server address that <a class="scrollto"
href="#keywords-17">mongod</a>
instance is running on, <b>by default it's 27017</b>
</p>
<p>
<b>Database Name</b> is database that you want to connect, <b>it's
required for Nosqlclient</b> since Nosqlclient depends on this name for
some features. You can switch to another database anytime after you connect.
</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_tab">3. Authentication Tab</h6>
<p>
MongoDB supports a few authentiation types, and Nosqlclient supports all of
them including <b>enterprise authentication types</b>
</p>
<ol class="list">
<li><a class="scrollto" href="#authentication_scram">Scram SHA-1</a>
</li>
<li><a class="scrollto" href="#authentication_cr">Mongodb-CR</a>
</li>
<li><a class="scrollto" href="#authentication_x509">X509</a>
</li>
<li><a class="scrollto" href="#authentication_gssapi">Kerberos (GSSAPI)</a>
</li>
<li><a class="scrollto" href="#authentication_ldap">LDAP (Plain)</a>
</li>
</ol>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_scram">3.1. Scram SHA-1</h6>
<p>SCRAM-SHA-1 is the default authentication mechanism for MongoDB >= 3.0.
There're three fields to fill for this authentication type</p>
<p>
<b>Username</b>, <b>password</b> and <b>authentication database</b>. <b>Authentication
DB</b>
is the database where the user was created, and
together with the user’s name, serves to identify the user. You can
leave it
empty
if user is defined in the database that you wish to connect
</p>
<p>Within <b>2.2.0 and higher</b> versions, you may leave username <b>or</b>
password empty, nosqlclient will prompt for them while connecting.</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_cr">3.2. MongoDB CR</h6>
<p>MongoDB CR was the default authentication mechanism for MongoDB < 3.0.
There're three fields to fill for this authentication type just like <a
href="#authentication_scram" class="scrollto">Scram-SHA-1</a></p>
<p>Within <b>2.2.0 and higher</b> versions, you may leave username <b>or</b>
password empty, nosqlclient will prompt for them while connecting.</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_x509">3.3. X509</h6>
<p>Starting from version MongoDB >= 2.6, MongoDB supports x.509 certificate
authentication for client authentication and internal authentication of the
members of replica sets and sharded clusters. X.509 certificate
authentication requires a secure <b>TLS/SSL connection</b>, and <b>Nosqlclient</b>
provides secure connection.</p>
<p><b>Username</b> field indicates the subject from the certificate</p>
<p><b>Root CA File</b> field keeps the certificate that should be used to
validate
server certificate.</p>
<p><b>Certificate</b> is for the presenting current client certificate</p>
<p><b>Passphrase</b> should be filled if client's certificate has one, otherwise
can be empty</p>
<p><b>Certificate Key File</b> is for the private key if client has one</p>
<p><b>Disable Hostname Verification</b>, by default, <b>Nosqlclient</b> ensures
that the
hostname included in the server’s SSL certificate(s) matches the hostname(s)
provided in the URI connection string. If you need to disable the hostname
verification, but otherwise validate the server’s certificate check this.
This behaviour comes from <b>NodeJS MongoDB Driver</b></p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_gssapi">3.4. Kerberos (GSSAPI)</h6>
<p>Contact us by sending a mail to <a href="mailto:[email protected]">[email protected]</a>
for more info about this enterprise type authentication
</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="authentication_ldap">3.5. LDAP (Plain)</h6>
<p>Contact us by sending a mail to <a href="mailto:[email protected]">[email protected]</a>
for more info about this enterprise type authentication
</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="ssl_tab">4. SSL Tab</h6>
<p>
MongoDB & Nosqlclient supports using SSL even without X509 authentication.
<b>If you're already using X509 authentication this tab will be disabled
automatically since internally it will use SSL for X509</b> Fields
that's placed here
are the same as <a href="#authentication_x509">X509 authentication</a>
</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="ssh_tab">5. SSH Tab</h6>
<p>
Nosqlclient supports SSH tunneling for your connections, but in SSH
tunneling connections you can't use <b>Dump</b>
section for now. Enabling SSH tunnel changes nothing for the other options,
so you need to fill other connection options and tabs just like you're
connecting to your <b>local</b> mongodb instance.
</p>
<p><b>Hostname</b> is the server address that <a class="scrollto"
href="#keywords-17">
mongodb</a> instance is running on.</p>
<p><b>Port</b> is the port of the server address that <a class="scrollto"
href="#keywords-17">
mongodb</a> instance is running on.</p>
<p><b>Destination Port</b> is the port of the remote <a class="scrollto"
href="#keywords-17">mongod/mongos</a>
instance</p>
<p><b>Local Port</b> is local port to bind for ssh tunneling, should be set same
with the <a class="scrollto" href="#connection_tab">first tab</a></p>
<p><b>Username</b> is the username that you want to use while connecting to
server that <a class="scrollto"
href="#keywords-17">
mongodb</a> instance is running on.</p>
<p><b>Authentication</b>, you can select either connecting via a private key or
password.</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h6 id="options_tab">6. Options Tab</h6>
<p>
These are the options for connection, such as connection/socket timeout,
replica set name etc...
</p>
<p><b>Connection Timeout</b> is the time in milliseconds to attempt a connection
before timing out. <b>This overrides Nosqlclient's default</b> <a
class="scrollto" href="#settings">settings</a>
<p><b>Socket Timeout</b> is the time in milliseconds to attempt a send or
receive on a socket before the attempt times out. <b>This overrides
Nosqlclient's default</b> <a
class="scrollto" href="#settings">settings</a>
<p><b>Username</b> is the username that you want to use while connecting to
server that <a class="scrollto"
href="#keywords-17">
mongodb</a> instance is running on.</p>
<p><b>Replica Name</b>, if you're trying to connect to a replica set, you <b>must</b>
enter this to make Nosqlclient aware of it.</p>
<p><b>Read Preference</b> field specifies the replica set read preference for
this connection.<b>By default it's set to primary</b>
</p>
<p><b>Connect With No Primary</b>, this flag lets you to connect your replica
set even if there's no primary is up at the moment</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="settings">Settings (Proficient Level)</h4>
<p>Nosqlclient has its own settings which can be set when either you're
connected to
a <a
href="#connections" class="scrollto">connection</a> or disconnected
</p>
<p>You may want to change nothing here if you're a <a href="#design-section"
class="scrollto">beginner</a>
</p>
<ul class="list">
<li><b>Max allowed fetch size for FIND query</b>
<p>With this settings you can prevent no limit <b>FIND</b> queries, and
restrict these queries to given size as <b>MB</b>, <b>0 = No
restriction</b>
</p>
</li>
<li><b>Socket timeout</b>
<p>This settings is the time in milliseconds to attempt a send or
receive on a socket before the attempt times out, and is being used
for
every connection unless it's overriden by the <a href="#options_tab"
class="scrollto">connection
options</a>, <b>0=No timeout</b></p>
</li>
<li><b>Connection timeout</b>
<p>This settings is is the time in milliseconds to attempt a connection
before
timing out, and is being used for
every connection unless it's overriden by the <a href="#options_tab"
class="scrollto">connection
options </a><b>0=No timeout</b></p>
</li>
<li><b>Database statistics scheduler</b>
<p>Nosqlclient populates <a href="#db_stats" class="scrollto">database
stats</a>
charts at this interval it's in <b>miliseconds</b></p>
</li>
<li><b>Size information in</b>
<p>At certain sections, Nosqlclient shows size information, you can
switch
these
information between <b>KB, MB or bytes.</b></p>
</li>
<li><b>Default result view</b>
<p>Nosqlclient uses JSONEditor and ACEEditor to show result views, you
can
change the default result view with this setting </p>
</li>
<li><b>Autocomplete samples count</b>
<p>Nosqlclient takes random samples and clarifies auto complete fields
with those, you
may set whatever count you want for samples, <b>0</b> disables auto
complete.
</p>
</li>
<li><b>Autocomplete shortcut</b>
<p>Change auto complete shortcut with this setting, by default it's <b>Ctrl-Space</b>.
This setting is also being applied at shell section.
<i>Combinations should be separated by dash.</i>
</p>
</li>
<li><b>Single tab for results</b>
<p>By default each query execution opens another tab, you can change
this
behaviour by enabling this</p>
</li>
<li><b>Show live chat</b>
<p>Enable live support from inside of Nosqlclient !</p></li>
<li><b>Show database statistics</b>
<p>To prevent querying database at regular intervals at the <a
href="#db_stats"
class="scrollto">database
stats page</a> for statistics, you can
disable this feature</p>
</li>
<li><b>Max. chart points</b>
<p>Database stats charts have certain number of points which can be
changeable via this setting, by default it's <b>15</b></p>
</li>
<li><b>Mongo binaries path</b>
<p>Nosqlclient uses native mongo binaries for <b>dump, shell, schema
analyzer</b> sections, unless you're using docker you need to set
binary path to here.<i> E.g.
/home/sercan/my_apps/mongodb3.4/bin</i>
</p>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="switch_db">Switch Database (Novice Level)</h4>
<p>Nosqlclient depends on database name for especially user management section,
therefore you can connect to only one database at once. But switching to
another
database is just two click away from you after connecting to your <a
href="#keywords-1" class="scrollto">connection</a>.</p>
<div class="row">
<div class="col-md-offset-5 col-sm-offset-5 col-xs-offset-5 col-md-2 col-sm-2 col-xs-2">
<div class="screenshot-holder">
<a href="assets/images/screenshots/switch_db.png"
data-title="Switch Database" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/switch_db.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/switch_db.png"
data-title="Switch Database" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<p>After clicking <b><i class="fa fa-chevron-circle-down"></i> More -> <i
class="fa fa-database"></i> Switch Database</b>
button you'll be able to select any of the databeses from the table, or you
can
write down a new database name to input field below of the table. <b>Nosqlclient
uses input field's value.</b> To fetch databases Nosqlclient executes <a
href="https://docs.mongodb.com/manual/reference/command/listDatabases/"
target="_blank">listDatabases</a> query.</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="nosqlclient_data">Import/Export Nosqlclient Data (Novice Level)</h4>
<p>If you prefer to use <a href="start.html#download-section"
target="_blank">desktop distribution</a> of
Nosqlclient,
you may want to keep your connections and settings for each update of
Nosqlclient. With <b>Export Nosqlclient Data</b> button you can export your
connections and settings, and import them to another version by choosing <b>Import
Nosqlclient Data</b> <a href="start.html#docker"
target="_blank">Docker </a> build is always a
better
choice to use Nosqlclient</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="db_stats">Database Stats (Expert Level)</h4>
<div class="callout-block callout-success">
<div class="icon-holder">
<i class="fa fa-thumbs-up"></i>
</div><!--//icon-holder-->
<div class="content">
<h4 class="callout-title">Useful Tip</h4>
<p>You can zoom in/out or change position of any chart, via mouse wheel and dragging.
</p>
</div><!--//content-->
</div>
<p>Nosqlclient queries your database at regular intervals to populate
performance
charts and tables at the <b>Database Stats</b> page</p> This feature can be
disabled, or regular interval can be configured at <a class="scrollto"
href="#settings">settings</a>
<div class="row">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-3 col-md-6 col-sm-6 col-xs-6">
<div class="screenshot-holder">
<a href="assets/images/screenshots/db_stats.png"
data-title="Database Stats" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/db_stats.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/db_stats.png"
data-title="Database Stats" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<p>You can find detailed information about how these charts are being populated
below. All charts data comes from <a
href="https://docs.mongodb.com/manual/reference/command/serverStatus/"
target="_blank">serverStatus</a> query of mongodb</p>
<ul class="list">
<li><b>Memory Usage</b>
<p>
<i>Virtual line</i> indicates <a
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.mem.virtual"
target="_blank">mem.virtual</a> value
<br/>
<i>Mapped line</i> indicates <a
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.mem.mapped"
target="_blank">mem.mapped</a> value
<br/>
<i>Current line</i> indicates <a
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.mem.resident"
target="_blank">mem.resident</a> value</p>
</li>
<li><b>Queued Read/Write </b>
<p>
<i>Readers line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.globalLock.currentQueue.readers">globalLock.currentQueue.readers</a>
value
<br/>
<i>Writers line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.globalLock.currentQueue.writers">globalLock.currentQueue.writers</a>
value
</p>
</li>
<li><b>Active Read/Write </b>
<p>
<i>Readers line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.globalLock.activeClients.readers">globalLock.activeClients.readers</a>
value
<br/>
<i>Writers line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.globalLock.activeClients.writers">globalLock.activeClients.writers</a>
value
<br/>
<i>Total text</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.globalLock.activeClients.total">globalLock.activeClients.total</a>
value
</p>
</li>
<li><b>Connections</b>
<p>
<i>Active line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.connections.current">connections.current</a>
value
<br/>
<i>Total Created line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.connections.totalCreated">connections.totalCreated</a>
value
<br/>
<i>Available text</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.connections.available">connections.available</a>
value
<br/>
</p>
</li>
<li><b>Network</b>
<p>
<i>Incoming line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.network.bytesIn">network.bytesIn</a>
value
<br/>
<i>Outgoing line</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.network.bytesOut">network.bytesOut</a>
value
<br/>
<i>Total Requests text</i> indicates <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.network.numRequests">network.numRequests</a>
value
</p>
</li>
<li><b>Operation Counters</b>
<p>These values comes from <a target="_blank"
href="https://docs.mongodb.com/manual/reference/command/serverStatus/#opcounters">opCounters</a>
object</p>
</li>
</ul>
<p><b>Collections Read/Write table</b> shows calculated data that comes from <a
href="https://docs.mongodb.com/manual/reference/command/top/"
target="_blank">top query</a> by Nosqlclient.
<br/>
<b>Read</b> column is being calculated with the following formula:
<b>(readTime - previousReadTime) / (readCount - previousReadCount)</b>
<br/>
<b>Write</b> column is being calculated with the following formula:
<b>(writeTime - previousWriteTime) / (writeCount - previousWriteCount)</b>
</p>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<h4 id="user_management">User Management (Proficient Level)</h4>
<p>You can either manage your <code>admin</code> or <b>connected database's</b>
users/roles in
Nosqlclient. If you check <b>right upper corner checkbox</b>, and click <b>Refresh</b>
button at the very bottom of the page, it means you've switched to
<b>admin</b>
database instead of the current. User management tree is being populated via
executing command <code>{
usersInfo: 1,
showCredentials: true
}</code> on the mentioned database. You can read more about this command
by
following <a
href="https://docs.mongodb.com/manual/reference/command/usersInfo/"
target="_blank">here</a>
<br/>
Nosqlclient crawls latest documentation for you from the MongoDB official
documentation whenever you click one of the <b>role, resource or
privilege</b>
elements from the tree. So you don't have to search MongoDB documentation
all
the time.
</p>
<div class="row">
<div class="col-md-offset-3 col-sm-offset-3 col-xs-offset-3 col-md-6 col-sm-6 col-xs-6">
<div class="screenshot-holder">
<a href="assets/images/screenshots/user_management.png"
data-title="User Management" data-toggle="lightbox"><img
class="img-responsive"
src="assets/images/screenshots/user_management.png"
alt="screenshot"></a>
<a class="mask" href="assets/images/screenshots/user_management.png"
data-title="User Management" data-toggle="lightbox"><i
class="icon fa fa-search-plus"></i></a>
</div>
</div>
</div>
<p>There will be <b>different menus at the right upper corner</b> regarding the
selected element from the user tree.</p>
<ul class="list">
<li><b>Selecting database <i class="fa fa-database"></i></b>
<p>
With this selection you can see and use <a href="#manage_roles"
class="scrollto">Manage
Roles</a>,
and <a href="#manage_users" class="scrollto">Manage Users</a>
buttons
</p>
</li>
<li><b>Selecting user <i class="fa fa-user"></i></b>
<p>
With this selection you can see and use <a href="#edit_user"
class="scrollto">Edit
User</a>
button
</p>
</li>
</ul>
<div class="callout-block callout-success">
<div class="icon-holder">
<i class="fa fa-thumbs-up"></i>
</div><!--//icon-holder-->
<div class="content">
<h4 class="callout-title">Useful Tip</h4>
<p>You can add custom values to most of the comboboxes in user
management
section by typing your value in the combobox's input and pressing
<b>Enter</b>.
Also you can de-select a value by pressing <i
class="fa fa-remove"></i>