### Deleting records with custom primary keys

In addition to deleting by the model type (or `Predicates.ALL`), a record with a custom primary key can be deleted the following ways:

With the value of the primary key:
```js
const book = await DataStore.delete(Book, '12345');
```

With a predicate:

<BlockSwitcher>
<Block name="Custom Primary Key">

```js
const book = await DataStore.delete(Book, b =>
    b.isbn.eq('12345')
);
```

</Block>
<Block name="Composite Key">

```js
const book = await DataStore.delete(Book, b => b.and([
    b.isbn.eq('12345'),
    b.title.eq('My Book')
]));
```

</Block>
</BlockSwitcher>

With an object literal:

<BlockSwitcher>
<Block name="Custom Primary Key">

```js
const book = await DataStore.delete(Book, { 
    isbn: '12345' 
});
```

</Block>
<Block name="Composite Key">

```js
const book = await DataStore.delete(Book, {
    isbn: '12345',
    title: 'My Book',
});
```

</Block>
</BlockSwitcher>