.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "MongoDBx::Class::Connection 3pm" .TH MongoDBx::Class::Connection 3pm "2014-02-04" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" MongoDBx::Class::Connection \- A connection to a MongoDB server .SH "VERSION" .IX Header "VERSION" version 1.030002 .SH "EXTENDS" .IX Header "EXTENDS" MongoDB::Connection .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& # connect to a MongoDB server \& my $conn = $mongodbx\->connect(host => \*(Aq10.10.10.10\*(Aq, port => 27017); \& \& # the connection object is automatically saved to the \*(Aqconn\*(Aq \& # attribute of the L object (C<$mongodbx> above) \& \& $conn\->get_database(\*(Aqpeople\*(Aq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" MongoDBx::Class::Connection extends MongoDB::Connection. This class provides the document expansion and collapsing methods that are used internally by other MongoDBx::Class classes. .PP Note that a MongoDBx::Class object can only have one connection at a time. Connection is only made via the \f(CW\*(C`connect()\*(C'\fR method in MongoDBx::Class. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" Aside for attributes provided by MongoDB::Connection, the following special attributes are added: .SS "namespace" .IX Subsection "namespace" A string representing the namespace of document classes to load (e.g. MyApp::Schema). This is a required attribute (automatically received from the MongoDBx::Class object). .SS "doc_classes" .IX Subsection "doc_classes" A hash-ref of document classes loaded. This is a required attribute (automatically received from the MongoDBx::Class object). .SS "safe" .IX Subsection "safe" A boolean value indicating whether to use safe operations (e.g. inserts and updates) by default \- without the need to pass \f(CW\*(C`{ safe => 1 }\*(C'\fR to relevant methods \- or not. False by default. .SS "is_backup" .IX Subsection "is_backup" This boolean attribute is used by MongoDBx::Class::ConnectionPool objects that use a backup connection. .SH "OBJECT METHODS" .IX Header "OBJECT METHODS" Aside from the methods provided by MongoDB::Connection, the following methods and modifications are added: .ie n .SS "get_database( $name )" .el .SS "get_database( \f(CW$name\fP )" .IX Subsection "get_database( $name )" Returns a MongoDBx::Class::Database object representing the MongoDB database named \f(CW$name\fR. .ie n .SS "safe( $boolean )" .el .SS "safe( \f(CW$boolean\fP )" .IX Subsection "safe( $boolean )" Overrides the current value of the safe attribute with a new boolean value. .ie n .SS "expand( $coll_ns, \e%doc )" .el .SS "expand( \f(CW$coll_ns\fP, \e%doc )" .IX Subsection "expand( $coll_ns, %doc )" Receives the full name (a.k.a namespace) of a collection (that is the database name, followed by a dot, and the collection name), and a document hash-ref, and attempts to expand it according to the '_class' attribute that should exist in the document. If it doesn't exist, the document is returned as is. .PP This is mostly used internally and you don't have to worry about expansion, it's done automatically. .SS "collapse( \e%doc )" .IX Subsection "collapse( %doc )" Receives a document hash-ref and returns a collapsed version of it such that it can be safely inserted to the database. For example, you can't save an embedded document directly to the database, you need to convert it to a hash-ref first. .PP This method is mostly used internally and you don't have to worry about collapsing, it's done automatically. .SH "INTERNAL METHODS" .IX Header "INTERNAL METHODS" .ie n .SS "_collapse_val( $val )" .el .SS "_collapse_val( \f(CW$val\fP )" .IX Subsection "_collapse_val( $val )" .SH "AUTHOR" .IX Header "AUTHOR" Ido Perlmuter, \f(CW\*(C`\*(C'\fR .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to \f(CW\*(C`bug\-mongodbx\-class at rt.cpan.org\*(C'\fR, or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. .SH "SUPPORT" .IX Header "SUPPORT" You can find documentation for this module with the perldoc command. .PP .Vb 1 \& perldoc MongoDBx::Class::Connection .Ve .PP You can also look for information at: .IP "\(bu" 4 \&\s-1RT: CPAN\s0's request tracker .Sp .IP "\(bu" 4 AnnoCPAN: Annotated \s-1CPAN\s0 documentation .Sp .IP "\(bu" 4 \&\s-1CPAN\s0 Ratings .Sp .IP "\(bu" 4 Search \s-1CPAN\s0 .Sp .SH "SEE ALSO" .IX Header "SEE ALSO" MongoDBx::Class, MongoDB::Connection. .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" Copyright 2010\-2014 Ido Perlmuter. .PP This program is free software; you can redistribute it and/or modify it under the terms of either: the \s-1GNU\s0 General Public License as published by the Free Software Foundation; or the Artistic License. .PP See http://dev.perl.org/licenses/ for more information.