
Product
Introducing Tier 1 Reachability: Precision CVE Triage for Enterprise Teams
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
这是一个对indexedDB进行的二次封装,让你快速的使用indexedDB,并拥有丰富的二次读写接口!
npm install --save-dev cindexdb
or
<script type="module">
import IndexDB from './lib/cindexdb.mjs';
</script>
or
<script src="./lib/cindexdb.js"></script>
// indexedDB 数据库资源json
SiteConfig.OBJECT_STORE = [
{
name: 'projects', // 项目存储
isKey: false, // 将此存储区设为键值存储区,可直接使用get(key)返回值。
keyPath: 'id', // 数据的对象的 key
indexs: [ // 索引
{
name: 'id', // 索引键的名称
keyPath: 'id', // 索引键
unique: false, // 是否允许重复
multiEntry: true // 如果为true,则索引的每个键数组中的每个项目都有一条记录。如果为false,则每个键都是一个数组有一个记录
}
]
}
];
new IndexDB({
DB_NAME: 'chint', // 数据库名称
DB_VERSION: 21, // 数据库版本
OBJECT_STORE: SiteConfig.OBJECT_STORE // 数据 存储对象
});
var indexDB = new IndexDB({
DB_NAME: 'chint', // 数据库名称
DB_VERSION: new Date().getTime(), // 数据库版本
OBJECT_STORE: SiteConfig.OBJECT_STORE // 数据 存储对象
});
// 向数据库对象中添加或者更新数据
indexDB.made('projects').put(arr|object).then(function(res){
console.log(res)
})
// 根据指定的key获取单条数据, key的入参可以是数组,获取数据list
indexDB.made('projects').get().then(function(res){
console.log(res)
})
// 获取所有的主键 与正式api使用一致
indexDB.made('projects').keys().then(function(res){
console.log(res)
})
// 获取对象存储下所有的数据
indexDB.made('projects').all().then(function(res){
console.log(res)
})
// 获取对象存储下所有的数据条数
indexDB.made('projects').count().then(function(res){
console.log(res)
})
// 迭代数据对象存储,`没有原生js的index属性(下面的迭代同理没有)`
indexDB.made('projects').each(function(item){
console.log(item)
})
// 反向迭代
indexDB.made('projects').reverse(function(item){
console.log(item)
})
// 根据条件进行迭代,有两个参数
// 第一个参数是要迭代的数据条数,默认值是10
// 第二个是要迭代的开始位置,默认值是0;如果大于0,正向迭代,如果小于0,反向迭代
indexDB.made('projects').some(5, -1).then(function(res){
console.log(res)
})
// 获取第一条数据
indexDB.made('projects').first().then(function (res) {
console.log(res)
})
// 获取最后一条数据
indexDB.made('projects').last().then(function (res) {
console.log(res)
})
// 根据索引和键值获取指定的数据
indexDB.made('projects').find('GROUP_SLT_ID', '3770').then(function (res) {
console.log(res)
})
根据索引和键值获取指定的数据
* @param {*索引名称} key
* @param {*索引键值} value
* @param {*比较符号} compare
*
* >: 索引键值大于所传的value的所有数据
* >=: 索引键值大于等于所传的value的所有数据
* <: 索引键值小于所传的value的所有数据
* <=: 索引键值小于等于所传的value的所有数据
* !=: 索引键值不等于所传的value的所有数据
* %: `索引键值包含所传的value的所有数据` ****切记仅限字符串且value也必须是字符串
* in: 索引键值在所传的value中
indexDB.made('projects').query('GROUP_SLT_ID', ['3770'], 'in').then(function (res) {
console.log(res)
})
多条件查询;等同于对 `query`方法的批量操作
但是 ****** 多了一个optional参数, 如果optional参数为true,表示多条件的关系是||,否则是&&;默认值: false
入参的方式是数组入参,参数顺序固定
入参方式1 (包含条件1和条件2的数据)
[
{ key: 'amount', value: 10, compare: '>' },
{ key: 'color', value: 'red' },
]
入参方式2 (包含条件1和条件2且条件1和条件3的数据)
[
{ key: 'amount', value: 10, compare: '>' },
{ key: 'color', value: 'red', optional: true },
{ key: 'color', value: 'blue', optional: true }
]
var conditions = [
{ key: 'SUB_ID', value: 2, optional: true },
// { key: 'GROUP_SLT_ID', value: '4812|3804|23|4813|4820|3783|3785|4818|2422|4819|2352', compare: 'in', optional: true }
]
var paging = {
pages: '',
num: ''
}
indexDB.made('projects').select(conditions, paging).then(function (res) {
console.log(res);
});
FAQs
indexedDB 二次元封装
We found that cindexdb demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Research
/Security News
Ongoing npm supply chain attack spreads to DuckDB: multiple packages compromised with the same wallet-drainer malware.
Security News
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.