$toObjectId - Amazon DocumentDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

$toObjectId

New from version 4.0

The $toObjectId operator in Amazon DocumentDB is used to convert a string representation of an ObjectId to an actual ObjectId data type. This can be useful when working with data that has been stored as string representations of ObjectIds, as it allows you to perform operations that require the ObjectId data type.

Parameters

  • expression: A string expression representing a valid ObjectId.

Example (MongoDB Shell)

The following example demonstrates how to use the $toObjectId operator to convert a string representation of an ObjectId to the ObjectId data type.

Create sample documents

db.employees.insertMany([ { _id: 1, empId:"64e5f8886218c620cf0e8f8a", name: "Carol Smith", employeeId: "c720a" }, { _id: 2, empId:"64e5f94e6218c620cf0e8f8c", name: "Bill Taylor", employeeId: "c721a" } ]);

Query example

db.employees.aggregate([ { $project: { "empIdAsObjectId": {$toObjectId: "$empId"}} } ]);

Output

[ { _id: 1, empIdAsObjectId: ObjectId('64e5f8886218c620cf0e8f8a') }, { _id: 2, empIdAsObjectId: ObjectId('64e5f94e6218c620cf0e8f8c') } ]

Code examples

To view a code example for using the $toObjectId command, choose the tab for the language that you want to use:

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('employees'); const result = await collection.aggregate([ { $project: { "empIdAsObjectId": {$toObjectId: "$empId"}} } ]).toArray(); console.log(result); client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['employees'] result = list(collection.aggregate([ { "$project": { "empIdAsObjectId": {"$toObjectId": "$empId"}} } ])) print(result) client.close() example()