API Reference > imodeljs-backend > iModels > IModelDb IModelDb Namespace Class Name Description IModelDb.Elements The collection of elements in an IModelDb. IModelDb.Models The collection of models in an IModelDb. IModelDb.Views The collection of views in an IModelDb. Defined in core/backend/src/IModelDb.ts Line 1307 IModelDb Class An iModel database file. The database file is either briefcase or a snapshot. see Accessing iModels see About IModelDb Extends IModel Extended by BriefcaseDb SnapshotDb StandaloneDb Methods Name Description abandonChanges(): void Abandon pending changes in this iModel. cancelSnap(sessionId: string): void Cancel a previously requested snap. clearCaches(): void Clear all in-memory caches held in this IModelDb. clearSqliteStatementCache(): void Empty the SqliteStatementCache for this iModel. Deprecated clearStatementCache(): void Empty the ECSqlStatementCache for this iModel. Deprecated close(): void Close this IModel, if it is currently open. computeProjectExtents(options?: ComputeProjectExtentsOptions): ComputedProjectExtents Compute an appropriate project extents for this iModel based on the ranges of all spatial elements. constructEntity<T extends Entity<T>>(props: EntityProps): T Construct an entity (Element or Model) from an iModel. containsClass(classFullName: string): boolean Query if this iModel contains the definition of the specified class. deleteFileProperty(prop: FilePropertyProps): DbResult delete a "file property" from this iModel embedFont(prop: FontProps): FontProps exportGraphics(exportProps: ExportGraphicsOptions): DbResult Export meshes suitable for graphics APIs from arbitrary geometry in elements in this IModelDb. exportPartGraphics(exportProps: ExportPartGraphicsOptions): DbResult Exports meshes suitable for graphics APIs from a specified GeometryPart generateElementGraphics(request: ElementGraphicsRequestProps): Promise<undefined | Uint8Array> Generate graphics for an element or geometry stream. getBriefcaseId(): number Get the briefcase Id of this iModel getGeoCoordinatesFromIModelCoordinates(requestContext: ClientRequestContext, props: string): Promise<GeoCoordinatesResponseProps> Get the GeoCoordinate (longitude, latitude, elevation) corresponding to each IModel Coordinate point in the input getGeometryContainment(requestContext: ClientRequestContext, props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> Get the clip containment status for the supplied elements. getGuid(): string Get the GUID of this iModel. getIModelCoordinatesFromGeoCoordinates(requestContext: ClientRequestContext, props: string): Promise<IModelCoordinatesResponseProps> Get the IModel coordinate corresponding to each GeoCoordinate point in the input getJsClass<T extends undefined>(classFullName: string): T Get the JavaScript class that handles a given entity class. getMassProperties(requestContext: ClientRequestContext, props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> Get the mass properties for the supplied elements. getMetaData(classFullName: string): EntityMetaData Get metadata for a class. importSchemas(requestContext: ClientRequestContext, schemaFileNames: string[]): Promise<void> Import an ECSchema. isBriefcaseDb(): this is BriefcaseDb Type guard for instanceof BriefcaseDb isSnapshotDb(): this is SnapshotDb Type guard for instanceof SnapshotDb prepareStatement(sql: string): ECSqlStatement Prepare an ECSQL statement. query(ecsql: string, bindings?: object | any[], limitRows?: number, quota?: QueryQuota, priority?: QueryPriority, abbreviateBlobs?: boolean): AsyncIterableIterator<any> Execute a query and stream its results queryEntityIds(params: EntityQueryParams): Id64Set Query for a set of entity ids, given an EntityQueryParams queryFilePropertyBlob(prop: FilePropertyProps): undefined | Uint8Array Query a "file property" from this iModel, as a blob. queryFilePropertyString(prop: FilePropertyProps): undefined | string Query a "file property" from this iModel, as a string. queryNextAvailableFileProperty(prop: FilePropertyProps): number Query for the next available major id for a "file property" from this iModel. queryRowCount(ecsql: string, bindings?: object | any[]): Promise<number> Compute number of rows that would be returned by the ECSQL. querySchemaVersion(schemaName: string): undefined | string Query for a schema of the specified name in this iModel. readFontJson(): string requestSnap(requestContext: ClientRequestContext, sessionId: string, props: SnapRequestProps): Promise<SnapResponseProps> restartQuery(token: string, ecsql: string, bindings?: object | any[], limitRows?: number, quota?: QueryQuota, priority?: QueryPriority): AsyncIterableIterator<any> Execute a query and stream its results saveChanges(description?: string): void Commit pending changes to this iModel. saveFileProperty(prop: FilePropertyProps, strValue: undefined | string, blobVal?: Uint8Array): DbResult Save a "file property" to this iModel tryPrepareStatement(sql: string): undefined | ECSqlStatement Prepare an ECSQL statement. updateEcefLocation(ecef: EcefLocation): void Update the EcefLocation of this iModel. updateIModelProps(): void Update the IModelProps of this iModel in the database. updateProjectExtents(newExtents: Range3d): void Update the project extents for this iModel. withPreparedSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T Use a prepared SQL statement, potentially from the statement cache. withPreparedStatement<T>(ecsql: string, callback: (stmt: ECSqlStatement) => T): T Use a prepared ECSQL statement, potentially from the statement cache. withSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T Prepared and execute a callback on a SQL statement. withStatement<T>(ecsql: string, callback: (stmt: ECSqlStatement) => T): T Prepared and execute a callback on an ECSQL statement. findByFilename(fileName: string): undefined | IModelDb Static Find an opened instance of any subclass of IModelDb, by filename findByKey(key: string): IModelDb Static Find an open IModelDb by its key. forEachMetaData(iModel: IModelDb, classFullName: string, wantSuper: boolean, func: PropertyCallback, includeCustom: boolean = true): void Static Invoke a callback on each property of the specified class, optionally including superclass properties. tryFindByKey(key: string): undefined | IModelDb Static Attempt to find an open IModelDb by key. validateSchemas(filePath: string, forReadWrite: boolean): SchemaState Static Determines if the schemas in the Db must or can be upgraded by comparing them with those included in the Inherited methods Name Inherited from Description cartographicToSpatialFromEcef(cartographic: Cartographic, result?: Point3d): Point3d IModel Convert a Cartographic to a point in this iModel's Spatial coordinates using its ecefLocation. ecefToSpatial(ecef: Readonly<WritableXYAndZ>, result?: Point3d): Point3d IModel Convert a point in ECEF coordinates to a point in this iModel's Spatial coordinates using its ecefLocation. getEcefTransform(): Transform IModel Get the Transform from this iModel's Spatial coordinates to ECEF coordinates using its ecefLocation. getRpcProps(): IModelRpcProps IModel Return a token for RPC operations. setEcefLocation(ecef: EcefLocationProps): void IModel Set the EcefLocation for this iModel. setGeographicCoordinateSystem(geoCRS: GeographicCRSProps): void IModel Sets the geographic coordinate reference system from GeographicCRSProps. spatialToCartographicFromEcef(spatial: Readonly<WritableXYAndZ>, result?: Cartographic): Cartographic IModel Convert a point in this iModel's Spatial coordinates to a Cartographic using its ecefLocation. spatialToEcef(spatial: Readonly<WritableXYAndZ>, result?: Point3d): Point3d IModel Convert a point in this iModel's Spatial coordinates to an ECEF point using its ecefLocation. getDefaultSubCategoryId(categoryId: string): string Static IModel Get the default subCategoryId for the supplied categoryId Properties Name Type Description _concurrentQueryStats Protected { dispose: () => void, lastActivityTime: number, logTimerHandle: any, resetTimerHandle: any } _edit ProtectedStaticReadonly "StandaloneEdit" _fontMap Protected undefined | FontMap codeSpecs Accessor ReadOnly CodeSpecs Get the CodeSpecs in this IModel. defaultLimit StaticReadonly "1000" elements Readonly IModelDb.Elements fontMap Accessor ReadOnly FontMap iModelId Accessor ReadOnly string The Guid that identifies this iModel. isBriefcase Accessor ReadOnly boolean Returns true if this is a BriefcaseDb isReadonly Accessor ReadOnly boolean Check if this iModel has been opened read-only or not. isSnapshot Accessor ReadOnly boolean Returns true if this is a SnapshotDb maxLimit StaticReadonly "10000" models Readonly IModelDb.Models onBeforeClose Readonly BeEvent<() => void> Event called when the iModel is about to be closed onChangesetApplied Readonly BeEvent<() => void> Event called after a changeset is applied to this IModelDb. pathName Accessor ReadOnly string Get the full path fileName of this iModelDb relationships Accessor ReadOnly Relationships Get the linkTableRelationships for this IModel tiles Readonly IModelDb.Tiles views Readonly IModelDb.Views Inherited properties Name Type Inherited from Description changeset ChangesetIdWithIndex IModel changeSetId Accessor ReadOnly string IModel The Id of the last changeset that was applied to this iModel. contextId Accessor ReadOnly undefined | string IModel The Guid that identifies the context that owns this iModel. dictionaryId StaticReadonly string IModel The Id of the dictionary model. ecefLocation Accessor undefined | EcefLocation IModel The EcefLocation of the iModel in Earth Centered Earth Fixed coordinates. geographicCoordinateSystem Accessor undefined | GeographicCRS IModel The geographic coordinate reference system of the iModel. globalOrigin Accessor Point3d IModel An offset to be applied to all spatial coordinates. isGeoLocated Accessor ReadOnly boolean IModel True if this iModel has an EcefLocation. key Accessor ReadOnly string IModel Get the key that was used to open this iModel. This is the value used for Rpc and Ipc communications. name Accessor string IModel Name of the iModel onEcefLocationChanged Readonly BeEvent<(previousLocation: undefined | EcefLocation) => void> IModel Event raised after ecefLocation changes. onGeographicCoordinateSystemChanged Readonly BeEvent<(previousGCS: undefined | GeographicCRS) => void> IModel Event raised after geographicCoordinateSystem changes. onGlobalOriginChanged Readonly BeEvent<(previousOrigin: Point3d) => void> IModel Event raised after globalOrigin changes. onNameChanged Readonly BeEvent<(previousName: string) => void> IModel Event raised after name changes. onProjectExtentsChanged Readonly BeEvent<(previousExtents: Range3d) => void> IModel Event raised after projectExtents changes. onRootSubjectChanged Readonly BeEvent<(previousSubject: RootSubjectProps) => void> IModel Event raised after rootSubject changes. openMode Readonly OpenMode IModel The OpenMode used for this IModel. projectExtents Accessor Range3d IModel The volume, in spatial coordinates, inside which the entire project is contained. repositoryModelId StaticReadonly string IModel The Id of the repository model. rootSubject Accessor RootSubjectProps IModel The name and description of the root subject of this iModel rootSubjectId StaticReadonly string IModel The Id of the root subject element. Defined in core/backend/src/IModelDb.ts Line 91 Last Updated: 12 June, 2024