Difference between revisions of "Addon:MongoDB"
JStockman67 (talk | contribs) (→Prerequisites) |
Adamvazquez (talk | contribs) |
||
Line 2: | Line 2: | ||
{{man warn|{{man menu|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.}} | {{man warn|{{man menu|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 {{man label|MongoDB}} addon provides MongoDB database support for Gramps 5.x or greater. | + | The {{man label|MongoDB}} addon provides experimental MongoDB database support for Gramps 5.x or greater. |
MongoDB is an open-source document-oriented NOSQL database. | MongoDB is an open-source document-oriented NOSQL database. |
Revision as of 22:04, 21 September 2020
This is a Third-party Addon. 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 |
The MongoDB addon provides experimental MongoDB database support for Gramps 5.x or greater.
MongoDB is an open-source document-oriented NOSQL database.
Contents
Prerequisites
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.
Windows & MacOS
As the Gramps AIO & MacOS installers do not come with the Prerequisites and can not be installed easily. see 10491
- Windows
- If you really want to experiment with mongodb, (I regard this as extremely advanced activity), you will have to build up a development environment for Gramps under Windows and then add the mongodb prerequisites there. See Gramps_for_Windows_with_MSYS2
- MacOS
- The Mac bundle is aimed at normal users. Tinkerers can use MacPorts and have more-or-less the same environment as on Linux. Note that Homebrew just downloads the Gramps bundle dmg, so it won't help in this case. See: Mac OS X:Build from source:MacPorts
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] Add prerequistes MongoDB [Wontfix][Windows use : MSYS2/ MacOS use: MacPorts]