Addon:MongoDB

From Gramps
Revision as of 23:25, 25 September 2019 by Sam888 (talk | contribs) (Creating a family tree)
Jump to: navigation, search
Gramps-notes.png

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.

Gnome-important.png
For Experts only! This is an Experimental Unreleased addon.

Gramps is not designed to be used by multiple users at the same time. While using a MongoDB server remotely allows multiple users to connect to a database, doing so simultaneously WILL cause database corruption and loss of data. If you chose to set up for multiple user access, please backup frequently, and set up a system of your own to make sure that only one person is using Gramps at one time. Gramps or the family tree MUST be closed before allowing another user to access the database.

The MongoDB addon provides MongoDB database support for Gramps 5.x or greater.

MongoDB is an open-source document-oriented NOSQL database.

Prerequisites

Gnome-important.png
Note

These instruction assume you are using Linux or development environment. As the Gramps AIO & MacOS installers do not come with the Prerequisites and can not be installed easily. see 10491

Install the following packages:

  • mongodb
  • python3-pymongo

Start and enable the database service.

Creating a family tree

In the "Family Tree" tab of the Preferences, set the "Database backend" to MongoDB.

Enter the Host and Port if using anything other than the defaults.

In the Family Tree Manager, click New and enter a family tree name.

Click the Load Family Tree button.

Create or import some data.

Viewing a database using mongo

From the command line type:

$ mongo

At the prompt type:

> show dbs

You should see your family tree listed.

> use Family_Tree_1

> show collections

> db.person.find()

Now you should see some data.

Some query examples

> db.person.find({"gramps_id": "I0044"})

> db.person.find({"primary_name.surname_list.surname": "Garner"}).count()

> db.person.find({"primary_name.surname_list.surname": "Garner", "gender": 0}).count()

> db.event.find({"type.string": "Birth"})

See also

Issues

  • 10491 [Gramps AIO & MacOS installers] Exception: can't load database backend: 'mongodb'