Worth noting this will throw an InvalidArgumentException if string is not in the correct format
(mongodb >=1.0.0)
BSON type for an » ObjectId. The value consists of 12 bytes, where the first four bytes are a timestamp that reflect the ObjectId's creation. Specifically, the value consists of:
In MongoDB, each document stored in a collection requires a unique _id field that acts as a primary key. If an inserted document omits the _id field, the driver automatically generates an ObjectId for the _id field.
Using ObjectIds for the _id field provides the following additional benefits:
版本 | 说明 |
---|---|
1.3.0 |
Renamed from MongoDB\BSON\ObjectID to MongoDB\BSON\ObjectId. Implements MongoDB\BSON\ObjectIdInterface. |
1.2.0 | Implements Serializable and JsonSerializable. |
Worth noting this will throw an InvalidArgumentException if string is not in the correct format
I struggled for awhile to identify the way to find() using a ObjectID
This seems to work, I hope this helps someone else out.
$mongoId = '5a2493c33c95a1281836eb6a';
$collection->find(['_id'=> new MongoDB\BSON\ObjectId("$mongoId")]);
I found it here: https://docs.mongodb.com/php-library/current/reference/method/MongoDBCollection-findOne/
Note this is for the PHP library, not the legacy library.