xet7
January 8, 2024, 3:17pm
1
Hi,
I just got news, that FerretDB 1.18 now has support of OpLog. So I will be trying replace MongoDB 6.x with FerretDB/PostgreSQL or FerretDB/SQLite.
opened 03:50PM - 04 Jan 23 UTC
not ready
### What should be done?
Refs [#24](https://github.com/FerretDB/engineering/i… ssues/24), #2501
They use Meteor which often tails the oplog for performance benefits but tailing the oplog is an optional setting for WeKan defined [here](https://github.com/wekan/wekan/blob/master/docker-compose.yml#L203). It uses Meteor's [poll-and-diff method](https://blog.meteor.com/tuning-meteor-mongo-livedata-for-scalability-13fe9deb8908) by default which just uses find under-the-hood.
They also use [GridFS](https://www.mongodb.com/docs/manual/core/gridfs/) to store avatars and attachments.
https://github.com/wekan/wekan/tree/master/models
```[tasklist]
### Tasks
- [ ] #826
- [ ] #825
- [ ] #1428
- [ ] #1423
- [ ] #1439
- [ ] #2013
- [ ] #1432
- [ ] #1467
- [ ] #1427
- [ ] #76
- [ ] #1754
- [ ] #2448
```
6 Likes
That’s great news! Thanks for sharing!
1 Like
xet7
January 8, 2024, 7:32pm
3
Related, here is my database connection test, trying MongoDB and FerretDB:
Database connect test with Node.js 20, Bun and Deno. Creating single executeables with Bun and Deno. - GitHub - wekan/wekan-node20: Database connect test with Node.js 20, Bun and Deno. Creating sin...
xet7
March 7, 2024, 9:12pm
4
When I asked for Meteor FerretDB examples, I got some replies here. Please help testing. Thanks!
opened 03:50PM - 04 Jan 23 UTC
not ready
### What should be done?
Refs [#24](https://github.com/FerretDB/engineering/i… ssues/24), #2501
They use Meteor which often tails the oplog for performance benefits but tailing the oplog is an optional setting for WeKan defined [here](https://github.com/wekan/wekan/blob/master/docker-compose.yml#L203). It uses Meteor's [poll-and-diff method](https://blog.meteor.com/tuning-meteor-mongo-livedata-for-scalability-13fe9deb8908) by default which just uses find under-the-hood.
They also use [GridFS](https://www.mongodb.com/docs/manual/core/gridfs/) to store avatars and attachments.
https://github.com/wekan/wekan/tree/master/models
```[tasklist]
### Tasks
- [ ] #826
- [ ] #825
- [ ] #1428
- [ ] #1423
- [ ] #1439
- [ ] #2013
- [ ] #1432
- [ ] #1467
- [ ] #1427
- [ ] #76
- [ ] #1754
- [ ] #2448
```
xet7
August 14, 2024, 2:19pm
5
From podcasts of Meteor 3 and Storyteller, I got some info that:
Upcoming MongoDB is making OpLog private, so Meteor team is thinking about changing to Change Streams
MongoDB is deprecating GridFS
I have not got FerretDB working yet, there was some problems with some database queries. While FerretDB has OpLog, I’ll try to find is there info about Change Streams in FerretDb.
2 Likes
Hey @xet7 I just spent a little while going through all the posts I could find where you discuss Meteor & FerretDB. Now with FerretDB in v2.2, as you surely know, OpLog tailing is supported. I wonder if you’re using FerretDB now in production with your app?
I tried it on a small app for me and had issues with the accounts package, which I was able to solve by avoiding the creation of any sparse index—see Guide: How to use Meteor with Postgres 😮 - #20 by meteorisgreat and The trusted source for JavaScript packages, Meteor.js resources and tools | Atmosphere
Would be great to know if and how it’s going with FerretDB at WeKan!
1 Like
xet7
May 20, 2025, 2:51pm
7
I have not yet tried FerretDB 2.2. I’ll try sometime in near future.
2 days ago, at 2025-05-18, I talked about WeKan at Free Software Conference Ukraine:
https://github.com/wekan/wekan/releases/download/v7.90/2025-05-18_WeKan_at_Free_Software_Conference_Ukraine.webm
1 Like
Thank you for the update and the link! I’ll check it out.
1 Like
I’m correcting my own statement of earlier: the deadlocks were not caused by FerretDB not supporting sparse indexes. FerretDB 2.2 does support sparse & unique indexes—great! The deadlocks were causes by the accounts-base and accounts-password packages concurrently creating such indexes, which is handled well by MongoDB, but not well by FerretDB/Postgres. I updated my package to fix only what is essential to avoid this error, by simply making createIndexAsync sequential (using a promoise chain).
1 Like
xet7
July 30, 2025, 4:29pm
10
I got email that FerretDB WeKan issue had been closed. It looks like FerretDB wrote this blog post:
Learn how to use WeKan, the open-source Trello-like Kanban board, with FerretDB, leveraging a reliable PostgreSQL-backed database for your project data.
4 Likes