sanakirju-mongoose

1.0.0 • Public • Published

Sanakirju Mongoose

MongoDB / Mongoose implementation of Sanakirju, a Karelian - Finnish dictionary with over 90 000 words. Based on data from Karjalan Kielen Sanakirja.

Install

yarn add sanakirju-mongoose

Usage

sanakirju-mongoose uses the core sanakirju to fetch all the dictionary data from XML files. The Mongoose example provides one function for populating your own MongoDB instance with data from Sanakirju.

Set up database.
const { toMongoose } = require('sanakirju-mongoose')

// Your MongoDB / Mongoose config.
const config = {
  url: 'YOUR_CONNECTION_STRING_HERE',
  config: {
    useNewUrlParser: true,
    useUnifiedTopology: true
    // Whatever other configs you require.
  },
}

/**
 * Run once to populate your DB.
 */
const populateMyDB = async() => {
  await toMongoose(config)
}

populateMyDB()
Query the database
const { Dictionary, connection } = require('sanakirju-mongoose')

const config = {
  url: 'YOUR_CONNECTION_STRING_HERE',
  config: {
    useNewUrlParser: true,
    useUnifiedTopology: true
    // Whatever other configs you require.
  },
}

/**
 * Open connection somewhere in your app.
 * You are free to open MongoDB connection without Sanakirju too.
 */
const dbConnection = await connection.connect(config.url, config.config)

if (!dbConnection.status) {
    return dbConnection.error
}

// Query some data with Dictionary model.
const aWords = await Dictionary.find({startsWith: 'a'}).exec()
const sWords = await Dictionary.find({startsWith: 's'}).exec()

// Close connection once done.
await connection.close()
Dictionary model

Sanakirju provides the following data for the model:

{
  word: {
    type: String,
  },
  definitions: [
    {
      definition: [String],
      types: [String],
      grammaticalNote: String,
      examples: [String],
    },
  ],
  startsWith: String
}

Sources.

Words & translations are from Karjalan Kielen Sanakirja created by Institute for the Languages of Finland. The original material is licenced under Creative Commons International (CC BY 4.0).

Readme

Keywords

none

Package Sidebar

Install

npm i sanakirju-mongoose

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

7.21 kB

Total Files

18

Last publish

Collaborators

  • stscoundrel