• This repository has been archived on 22/Dec/2021
  • Stars
    star
    203
  • Rank 188,898 (Top 4 %)
  • Language
    Perl
  • License
    Apache License 2.0
  • Created over 15 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Perl driver for the MongoDB

END OF LIFE NOTICE

Version v2.2.0 was the final feature release of the MongoDB Perl driver and version v2.2.2 is the final patch release.

As of August 13, 2020, the MongoDB Perl driver and related libraries have reached end of life and are no longer supported by MongoDB. See the August 2019 deprecation notice for rationale.

If members of the community wish to continue development, they are welcome to fork the code under the terms of the Apache 2 license and release it under a new namespace. Specifications and test files for MongoDB drivers and libraries are published in an open repository: mongodb/specifications.

Introduction

mongo-perl-driver is the official client-side driver for talking to MongoDB with Perl. It is free software released under the Apache 2.0 license and available on CPAN under the distribution name MongoDB.

This file describes requirements and procedures for developing and testing the MongoDB Perl driver from its code repository. For instructions installing from CPAN or tarball, see the INSTALL.md file instead.

While this distribution is shipped using Dist::Zilla, you do not need to install it or use it for development and testing.

Working with the source

Compiler tool requirements

This module requires make and a compiler.

For example, Debian and Ubuntu users should issue the following command:

$ sudo apt-get install build-essential

Users of Red Hat based distributions (RHEL, CentOS, Amazon Linux, Oracle Linux, Fedora, etc.) should issue the following command:

$ sudo yum install make gcc

On Windows, StrawberryPerl ships with a GCC compiler.

On Mac, install XCode or just the XCode command line tools.

Installing Perl dependencies as a non-privileged user

If you do not have write permissions to your Perl's site library directory (perl -V:sitelib), then you will need to use your CPAN client or run make install as root or with sudo.

Alternatively, you can configure a local library. See local::lib on CPAN for more details. If you configure a local library, don't forget to modify your .bashrc or equivalent files.

Configuration and dependencies

You will need to install Config::AutoConf and Path::Tiny to be able to run the Makefile.PL.

$ cpan Config::AutoConf Path::Tiny

To configure:

$ perl Makefile.PL

The output will highlight any missing dependencies. Install those with the cpan client.

$ cpan [list of dependencies]

You may also use cpan to install the current stable MongoDB driver with cpan MongoDB, which should pick up most of the dependencies you will need automatically.

Building and testing

Most tests will skip unless a MongoDB database is available either on the default localhost and port or on an alternate host:port specified by the MONGOD environment variable:

$ export MONGOD=localhosts:31017

You can download a free, community edition of MongoDB from MongoDB Downloads.

To build and test (after configuration):

$ make
$ make test

More Repositories

1

sleepy.mongoose

[Archive] A REST interface for MongoDB - This Repository is NOT a supported MongoDB product
Python
385
star
2

mongo-rust-driver-prototype

This is superseded by the official MongoDB Rust Driver
Rust
380
star
3

full-stack-fastapi-mongodb

Full stack, modern web application generator. Using FastAPI, MongoDB as database, Docker, automatic HTTPS and more.
TypeScript
354
star
4

socialite

Social Data Reference Architecture - This Repository is NOT a supported MongoDB product
Java
291
star
5

edda

A log visualizer for MongoDB - This Repository is NOT a supported MongoDB product
Python
231
star
6

hvdf

[Archive] High Volume Data Feed (HDVF) framework for time series data - This Repository is NOT a supported MongoDB product
Java
84
star
7

mongoproxy

A server that speaks the MongoDB wire protocol and can analyze/transform requests and responses - This Repository is NOT a supported MongoDB product
Go
79
star
8

mongo-arrow

MongoDB integrations for Apache Arrow. Export MongoDB documents to numpy array, parquet files, and pandas dataframes in one line of code.
Python
77
star
9

mongo-web-shell

[Archive] An interactive MongoDB shell in a web browser - This Repository is NOT a supported MongoDB product
JavaScript
64
star
10

YCSB

This Repository is NOT a supported MongoDB product
Java
57
star
11

mongo-hhvm-driver-unsupported

[Archive] Experimental MongoDB driver for HHVM - This Repository is NOT a supported MongoDB product
Hack
56
star
12

mongorover

Intern project - MongoDB driver for the Lua programming language - This Repository is NOT a supported MongoDB product
C
55
star
13

big-data-exploration

[Archive] Intern project - Big Data Exploration using MongoDB - This Repository is NOT a supported MongoDB product
JavaScript
43
star
14

mongo-mockup-db

MockupDB - Simulate a MongoDB server.
Python
42
star
15

python-bsonjs

A fast BSON to MongoDB Extended JSON converter for Python - This Repository is NOT a supported MongoDB product
C
40
star
16

shard-viz

[Archive] An experimental Chrome plugin for visualizing sharded MongoDB clusters - This Repository is NOT a supported MongoDB product
JavaScript
36
star
17

py-tpcc

MongoDB Adaptation of PyTPCC
Python
36
star
18

mangrove

Mangrove: the MongoDB C++ ODM - This Repository is NOT a supported MongoDB product
C++
33
star
19

mongo-fsharp-driver-prototype

[Archive] FSharp.MongoDB - F# driver prototype for MongoDB - This Repository is NOT a supported MongoDB product
F#
29
star
20

mongosh-snippets

An experimental plugin feature for mongosh
JavaScript
26
star
21

storage-viz

[Archive] An experimental Chrome plugin for visualizing MMAP storage and indexes - This Repository is NOT a supported MongoDB product
JavaScript
24
star
22

mms-api-examples

This Repository is NOT a supported MongoDB product
Python
21
star
23

ledger

An implementation of a ledger using MongoDB
Python
18
star
24

mongo-csharp-search

C# driver extension providing support for Atlas Search
C#
16
star
25

mongoreplay

Go
13
star
26

jaeger-mongodb

A mongodb based storage backend for the jaeger collector
Go
12
star
27

pymongo-stubs

Experimental stub files for PyMongo
Python
12
star
28

field-level-encryption-sandbox

sample code for the client-side field level encryption project
JavaScript
11
star
29

migration-verifier

A public tool for validating the correctness of a migration
Go
11
star
30

mongodb-redpanda-example

JavaScript
10
star
31

drivers-evergreen-tools

Scripts for MongoDB drivers to bootstrap their Evergreen configuration file - This Repository is NOT a supported MongoDB product
Python
10
star
32

mindexer

Experimental tool to recommend indexes for MongoDB
Python
10
star
33

pubsub

[Archive] Intern project - Publish/subscribe within MongoDB v2.6.3 using ZeroMQ - This Repository is NOT a supported MongoDB product
C++
9
star
34

mongodb-wp-proxy

A logging mongodb wire protocol proxy
TypeScript
7
star
35

repl-trace-checker

Check that a replica set's execution trace is a valid TLA+ spec behavior
Python
6
star
36

symfony-mongodb

(Experimental) Bundle to provide a lightweight integration of MongoDB in Symfony
PHP
6
star
37

drivers-atlas-testing

Drivers Atlas Testing
Python
5
star
38

agg_edsl

A simple eDSL for aggregation in Python
Python
5
star
39

benchmarks

Lua
4
star
40

cobra2snooty

Generate cobra docs compatible with the snooty docs tooling
Go
4
star
41

terraform-provider-mongodb

Terraform Provider for MongoDB Cloud resources (This repository is NOT a supported MongoDB product)
Go
4
star
42

mongo-perl-bson-xs

Perl XS implementation of the BSON Specification -- http://bsonspec.org
C
4
star
43

cubes

Creating OLAP Cubes with MongoDB's Aggregation Framework
JavaScript
4
star
44

labs-modules

Labs modules for MongoDB.
Python
3
star
45

pymongoexplain

Explainable CRUD API for PyMongo
Python
3
star
46

omida

Ops Manager in Docker (arm64) WARNING: THIS IS NOT A PRODUCTION-GRADE IMAGE !!!
Shell
3
star
47

PyMongoAgg

Transpile Python functions to MongoDB Aggregations
Python
3
star
48

powerbi-connector-prototype

Prototype Custom Connector for PowerBI
3
star
49

ego

A non-production provisioning tool for installing MongoDB Ops Manager
Shell
3
star
50

swift-mongodb-tensorflow

Swift
2
star
51

ai-ml-pipeline-testing

Repository Dedicated to testing our third-party AI/ML integrations
Shell
2
star
52

mongodbmobile

This Repository is NOT a supported MongoDB product
Swift
2
star
53

django-mongodb

MongoDB Backend for Django
Python
2
star
54

mongo-ebpf-tools

Python
2
star
55

helium-ti-poc

Repo for UI prototype of TI-Helium POC
TypeScript
1
star
56

icecream

Icecream package repository for developer workstations
C++
1
star
57

python-service-tools

A repository to share common tools for working with python services.
Python
1
star
58

driver-performance-test-data

Datasets for MongoDB's internal driver benchmarking experiments - This Repository is NOT a supported MongoDB product
1
star
59

mongo-netopo

[Archive] Intern project - Network Topology Mapper for MongoDB - This Repository is NOT a supported MongoDB product
C++
1
star
60

mongodb-aem-course

Adobe Experience Manager and MongoDB Online Education Course - This Repository is NOT a supported MongoDB product
Shell
1
star
61

mpc-cli

Go
1
star
62

mongodb-cloudloads

Cloud-native MongoDB sample apps and workloads.
1
star
63

mgobson

Housing a wrapper around mgo's BSON library - This Repository is NOT a supported MongoDB product
Go
1
star
64

mongo-recsys

[Archive] Intern project - Recommendation system using MongoDB - This Repository is NOT a supported MongoDB product
Java
1
star
65

mongoid-fle-sample-app

Ruby on Rails Application that uses Mongoid/MongoDB to demonstrate Client-Side Field Level Encryption
Ruby
1
star
66

slogger

Go logging library - This Repository is NOT a supported MongoDB product
Go
1
star