GithubHelp home page GithubHelp logo

Comments (8)

jmikola avatar jmikola commented on July 19, 2024

I don't believe this is any different than the legacy driver. The criteria you've defined is attempting to match an _id with the string value "567eba6ea0b67b21dc004687". You likely want to match on new MongoDB\BSON\ObjectID("567eba6ea0b67b21dc004687"). The same applies to other BSON types (e.g. matching on a date field would require you to use our BSON date object in your criteria).

Feel free to close this issue if that resolves it.

from mongo-php-library.

globules-io avatar globules-io commented on July 19, 2024

Yup that solves my issue, thank you for replying

from mongo-php-library.

bujardeari avatar bujardeari commented on July 19, 2024

and how do you import MongoDB\BSON\ObjectID , i have a Slim application and have installet mongodb extension via composer , but it cant find MongoDB\BSON\ObjectID class

from mongo-php-library.

jmikola avatar jmikola commented on July 19, 2024

@bujardeari: MongoDB\BSON\ObjectID is provided in the mongodb PECL extension. This is not to be confused with the mongodb/mongodb package. Composer is used for installing packages but does not currently install PECL extensions. That said, it can enforce the mongodb/mongodb package's requirement that the mongodb extension be installed on the system.

If your system does not currently have the mongodb extension installed, please follow one of the installation procedures in the manual. Note that PHP web and CLI environments may have separate configuration files, so it's possible the extension is installed for a CLI environment, which Composer would use for checking requirements, but not a web SAPI where you may be trying to run your application.

In the future, please open a new GitHub issue rather than commenting on an old, closed thread. This will help ensure that your question gets seen and also avoid adding off-topic questions to a previous thread (in this case, the OP was asking about updateOne behavior and your question pertains to a missing class). You can always link back to an old issue for context if that would help.

from mongo-php-library.

bujardeari avatar bujardeari commented on July 19, 2024

it had it installed, the problem was only that after version 1.3 it was renamed to MongoDB\BSON\ObjectId and the previous one was MongoDB\BSON\ObjectID , and that confused me to try different things until i noticed the change. However thank you for your description

from mongo-php-library.

jmikola avatar jmikola commented on July 19, 2024

the problem was only that after version 1.3 it was renamed to MongoDB\BSON\ObjectId and the previous one was MongoDB\BSON\ObjectID

Ah, that was indeed change in 1.3.0 with PHPC-1004. I obviously didn't give that much thought given that I referred to it as "ObjectID" in my last comment 😄

That said, I'm not sure how this came up for you, as class names in PHP are case-insensitive. We would not have made the change otherwise, as it would have been a BC break.

from mongo-php-library.

bujardeari avatar bujardeari commented on July 19, 2024

from mongo-php-library.

lindelius avatar lindelius commented on July 19, 2024

Until the class files have been either manually included or autoloaded, both namespaces and classes are case-sensitive (except on Windows, I think).

This works

$first = new App\SomeObject(); // <-- Correct case
$second = new App\someobject(); // <-- Incorrect case

This does not

$first = new App\someobject(); // <-- Incorrect case

However, this shouldn't affect the driver classes since they are loaded instantly along with all other extensions (which worked perfectly fine when I just tested).

@bujardeari Are you sure that the extension was properly loaded before when you experienced the class name issue?

from mongo-php-library.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.