
MongoSK by Romitou 
The MongoDB database management addon for Skript.
Events
3
Expressions
29
Effects
2
Conditions
3
Types
7
Sections
0
Structures
0
Total
44
The MongoDB database management addon for Skript.
Events
3
Expressions
29
Effects
2
Conditions
3
Types
7
Sections
0
Structures
0
Total
44
Note: A quick update on the status of the addon: I'm aware that no updates have been made in a long time. But I come with good news: a new version 3 of MongoSK is in the pipeline. It will integrate real async operations and lots of new tools and methods to make Mongo operations easier. Nothing new will be added to MongoSK 2, but existing and future requests will be added to MongoSK 3. If you have any comments about the addon and what you'd like to see in the future, I'm always available to listen.
The major addition of this update is support for Skript 2.8 and some Mongo driver updates. That's it for today. Enjoy!
In accordance with MongoSK's release logic, this version includes versions 2.2.1 and 2.2.2 as well as some not yet released modifications that have been tested by several users. So make way for MongoSK 2.3.0! After a year without a new stable version, here is a new one that introduces a lot of new features. Let's start:
Highlighted additions
✨ Introduce embedded value beta expression
I've been asked for this phrase a lot, so here it is! It is sometimes redundant to extract a document from a document from a document etc... and undertake several data manipulations on several lines. To remedy this, this expression will only ask you the path (MongoSK specific syntax, be careful) as follows: foo.bar, foo[0].bar or foo.bar[2] for example.
✨ Introduce sections support with new Skript's API and support legacy sections
Skript has recently released an API to create sections in a cleaner way directly integrated with Skript. However, this change has resulted in addons being required to use their new system. So I've been working to make sure that versions that are compatible with this change use it, but I've also been working to keep backwards compatibility for versions that don't use Skript's new API. To summarize, no changes are introduced by this release, only section support for recent versions of Skript.
✨ Introduce mongo keys / values expressions
Also requested by many users, these expressions simply allow you to retrieve all the keys or values of a document. Practical, isn't it?
✨ Introduce beta distinct query
The distinct query is useful when you want to retrieve a specific field from each document in a given collection. For example, if you have documents with a
This update brings a major bug fix to the Mongo document creation effects sections. The behavior of the current syntax remains unchanged. However, a new feature has been added: you can now implicitly specify the type of fields you want to add.
Example:
In the continuity of the versioning cycle of MongoSK, consisting in using the patch versions of beta releases as and when features are added, the previous beta versions have proven to be stable. It's time to release MongoSK 2.2.0. Let's see what's new.
⭐ Major changes
- Fix query execution of advanced queries
- Fix the server expression that did not support color codes properly
- Add support for Skript 2.6+
- Add support for MC 1.8+
- Add ability to disable codecs:
As you know, MongoSK comes with codecs, which allow users to easily store information not supported by MongoDB. For example: locations, players, dates, etc. It is now possible for advanced users who know what they are doing to disable some codecs so that they are no longer operational. Here is how to do it if you want to disable the date and player codecs for example:
MC 1.8 support
This version brings the modification of the Maven repository of the Mongo driver, now hosted by myself. The reason is that some issues have been fixed on my fork, adding support among others for 1.8 servers! This modified version of the driver does not use SLF4J anymore, which was not present on these servers.
Skript 2.6 compatibility fix
The second fix brings full compatibility with Skript 2.6. The effect sections have been fixed, and should no longer display warnings in the console.
That's all for today. Have fun!
This version fixes a major problem with advanced queries. Indeed, some properties of the Skript query were not correctly "translated" to make a Mongo query to the database, returning an incorrect result. Everything is fixed now.
In addition, compatibility with Skript 2.6-alpha1 has been added.
Note that this version of Skript remains unstable and should not be used in production.
⚠️ Special notice to servers using the visualEffect codec: due to Skript changes and in order to be compatible with 2.6-alpha1, this codec will no longer work with versions before Skript 2.6. If you use it, it is not recommended to upgrade to MongoSK 2.1.1, but to wait for Skript 2.6 to be stable in order to upgrade MongoSK.
As always, I remain available if you need help or more information!
The previous patch versions (2.0.1, 2.0.2 & 2.0.3) proved to be stable and without bugs, so here is a minor version (2.1.0)! This new version also brings some new features:
✨ Features
- Update Mongo driver from version 4.2.2 to 4.3.0-beta1
- Remove severe logging when a field does not exist in a document
- Add an is empty document condition
- Add an has value document condition
- Add an has key document condition
- Add Mongo sections!
As you know, the creation of simple documents can sometimes be long and boring, because of the many lines that sometimes seem unnecessary.
To create a simple document representing the JSON object below, you can now use a new syntax!
Finally we come to an update with some new features!
Right away, recap:
Bugs
- Fix syntaxes typos
- Make Skript dependent instead of softdependent (should fix some issues on some MC hosting providers)
Features
- Introducing array support in joined filters expression
- Introducing Mongo collection creation
- Introducing Mongo database and collection drops
- Introducing some features related to documents
- Introducing Mongo commands
That's it for today. And that's not bad.
Thanks to you for your feedback! As always, don't hesitate to contact me if you have any problem.
This new update brings many fixes. This one doesn't bring any additional big feature, because like the previous one, I prefer to concentrate on the bugs to be solved. But don't worry, some new features are still being developed in parallel!
Bugs
Thank you all for your feedback on MongoSK 2.0.0. Thanks to you, some issues have been solved. Let's review them:
Bugs
- Mongo document lists not being deserialized
- Fixing some codecs
- Severe error when a field is not present in a document
For this update, no additions have been made, while we receive feedback on the stability of this first v2 version. New features will be added soon.
As expected and planned for some time, here it is at last! MongoSK v2 makes place. On the program:
As expected, here is a small update bringing a new feature. For the time being, this is a pre-release. A stable version will be released in a few days if it turns out that these new features are stable and do not add any sudden changes.
Originally wanting to publish bigger updates with more content, I will now be doing smaller updates but on a more regular schedule. Here is a quick summary of this update:
- ✨ Adding more error messages and better exceptions handling
- Remove Skript-based events as they're useless and will be replaced in the next update
- ✨ Better and beautiful console logging
- ✨ Introducing more document features
- ⚗️ Introducing experimental codecs
Codecs are used to serialize Java objects so that they can be saved in a document.
Clearly, they make it possible to save Skript types other than what MongoDB supports.
The restoration of the correct data from a document has not been implemented yet.
The GitHub wiki is now online! https://github.com/Romitou/MongoSK/discussions/10
Thank you for your suggestions and sorry for the delay of this update! As usual, I remain open to any suggestion or remark.