flapdoodle-oss / de.flapdoodle.embed.mongo

...will provide a platform neutral way for running mongodb in unittests.
Apache License 2.0
910 stars 160 forks source link

Requesting library support to add $search aggregation pipeline for integration testing. #507

Closed silambarasan closed 7 months ago

silambarasan commented 10 months ago

We are facing exception while running the testcase with $search aggregation pipeline as shown below, org.springframework.data.mongodb.UncategorizedMongoDbException: Command failed with error 40324 (Location40324): 'Unrecognized pipeline stage name: '$search'' on server localhost:27018. The full response is {"ok": 0.0, "errmsg": "Unrecognized pipeline stage name: '$search'", "code": 40324, "codeName": "Location40324"}

Upon investigation it has been found, it's missing support for this. Please share us any workaround or any updates for this operation to be included.

michaelmosmann commented 10 months ago

@silambarasan I guess that this feature is only available with the mongodb atlas version, which a i understand this, can not run locally and is not comparable with the other mongodb server versions (https://www.mongodb.com/docs/manual/reference/operator/aggregation/search/). So if you need this feature, i guess you have to test this in a different way.

michaelmosmann commented 10 months ago

@silambarasan i close this issue.. reopen if needed.

silambarasan commented 10 months ago

@michaelmosmann , I found this documentation from mongo : https://www.mongodb.com/blog/post/introducing-local-development-experience-atlas-search-vector-search-atlas-cli. Is this possible to implement it out part of flapddoodle ?

michaelmosmann commented 10 months ago

@silambarasan thanks for this information.. i will have a look to see what this stuff is doing and if I can manage this somehow..

So just reopen this issue ...

michaelmosmann commented 10 months ago

@silambarasan so far, not so good .. i did try to use the atlas cli tool to create an local cluster which failed.. (see requirements: https://www.mongodb.com/docs/atlas/cli/stable/atlas-cli-deploy-local/). So i guess this will work only on macos or centos/redhat. And even if this would work i can not see how this tools works, how i could create local isolated deployments for each running test.. i am not sure if this tool just wraps a enterprise version of mongodb or more than that.

So with any other good idea how to solve this, i would recommend some testcontainer or custom docker image..

Sorry...

michaelmosmann commented 7 months ago

@silambarasan i will close this issue.. reopen, if needed