ææ¡£åæ°æ®åº
createCollectionâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼è¯¥æ¥å£å¯å建éå
æ¥å£å£°æï¼
createCollection(collectionName: string): Promise<Object>
createCollectionIfNotExists(collectionName: string): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| CollectionName | æ¯ | String | éåå |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.createCollection("collectionName");
console.log(result);
}
test();
checkCollectionExistsâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ£æ¥é忝å¦åå¨
æ¥å£å£°æï¼checkCollectionExists(collectionName: string): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| - | æ¯ | String | éåå |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Msg | å¦ | String | éè¯¯ä¿¡æ¯ |
| Exists | æ¯ | Boolean | é忝å¦å·²ç»åå¨ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.checkCollectionExists("collectionAlreadyExists");
if (result.Exists) {
// éååå¨
} else {
// éåä¸åå¨
}
}
test();
deleteCollectionâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼å é¤éå
æ¥å£å£°æï¼deleteCollection(collectionName: string): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| CollectionName | æ¯ | String | éåå |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Exists | å¦ | Boolean | åå¨ä¸è¿åè¯¥åæ®µï¼ä¸åå¨åè¿å false |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.deleteCollection("collectionAlreadyExists");
if (result.Exists === false) {
// éåä¸åå¨
}
}
test();
updateCollectionâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ´æ°éå
æ¥å£å£°æï¼updateCollection(collectionName: string, options: array): Promise<Object>
该æ¥å£å¯æ´æ°éåï¼ä½ç®åæ¯ææ´æ°ç´¢å¼ã
â ï¸ ç®å该æ¥å£åªè½æ´æ°ç´¢å¼ï¼å æ¬å建åå é¤ã
- ç´¢å¼å建æ¶å¦æå·²ç»åå¨ï¼åä¼å å é¤åå建索å¼ã
- å ä¸ºä¸æ¬¡æ¥å£è°ç¨å¯åæ¶å建å¤ä¸ªç´¢å¼ï¼æä»¥å¯è½é¨åç´¢å¼å建失败ï¼é¨åå建æåï¼æ¥å£æ¥å¼å¸¸ã
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| collectionName | æ¯ | String | éåå |
| options | æ¯ | Array<Option> | é ç½®é项 |
Option
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| CreateIndexes | å¦ | Array<CreateIndex> | éè¦å建çç´¢å¼å表 |
| DropIndexes | å¦ | Array<DropIndex> | éè¦å é¤çç´¢å¼å表 |
CreateIndex
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| IndexName | æ¯ | String | ç´¢å¼åç§° |
| MgoKeySchema | æ¯ | Array<MgoKeySchema> | ç´¢å¼è§å |
MgoKeySchema
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| MgoIsUnique | æ¯ | boolean | æ¯å¦å¯ä¸ |
| MgoIndexKeys | æ¯ | Array<MgoIndexKey> | ç´¢å¼å å«çåæ®µå表 |
MgoIndexKey
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| Name | æ¯ | String | ç´¢å¼åç§° |
| Direction | æ¯ | String | ç´¢å¼æ¹åï¼1ï¼ASCï¼-1ï¼DESCï¼2dï¼ååï¼å¦ææ 2dï¼2d å¿ é¡»æ¾æåé¢,注ï¼å°çä½ç½®ç´¢å¼åºè®¾ç½®è¯¥å¼ä¸º "2dsphere" |
DropIndex
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| IndexName | æ¯ | String | ç´¢å¼åç§° |
æ´æ°ç´¢å¼æ¯æçä¸¤ç§æ¹å¼ï¼å建ä¸å é¤ï¼ç¸äºç¬ç«ï¼ä¸å¯å¨ options åæ¶ä¼ å ¥ CreateIndexesï¼DropIndexes
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
4. 示ä¾ä»£ç â
å建æ°ç´¢å¼
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.updateCollection("collectionAlreadyExists", {
CreateIndexes: [
{
IndexName: "index_a",
MgoKeySchema: {
MgoIndexKeys: [
// 2dè¦æ¾æåé¢
{ Name: "a_2d", Direction: "2d" },
{ Name: "a_1", Direction: "1" },
{ Name: "a_-1", Direction: "-1" },
],
MgoIsUnique: false,
},
},
{
IndexName: "index_b",
MgoKeySchema: {
MgoIndexKeys: [{ Name: "b_1", Direction: "2d" }],
MgoIsUnique: true,
},
},
{
IndexName: "index_to_be_delete",
MgoKeySchema: {
MgoIndexKeys: [{ Name: "xxx", Direction: "2d" }],
MgoIsUnique: true,
},
},
],
});
console.log(result);
}
test();
å é¤ç´¢å¼
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.updateCollection("collectionAlreadyExists", {
DropIndexes: [{ IndexName: "index_to_be_delete" }],
});
console.log(result);
}
test();
describeCollectionâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ¥è¯¢éå详ç»ä¿¡æ¯
æ¥å£å£°æï¼describeCollection(collectionName: string): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| CollectionName | æ¯ | String | éåå |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| IndexNum | æ¯ | Number | ç´¢å¼ä¸ªæ° |
| Indexes | æ¯ | Array | ç´¢å¼å表 |
| Indexes[N].Name | æ¯ | String | ç´¢å¼åç§° |
| Indexes[N].Size | æ¯ | String | ç´¢å¼å¤§å°ï¼åä½: åè |
| Indexes[N].Unique | æ¯ | String | æ¯å¦ä¸ºå¯ä¸ç´¢å¼ |
| Indexes[N].Keys | æ¯ | Array | ç´¢å¼é®å¼ |
| Indexes[N].Keys[N].Name | æ¯ | String | é®å |
| Indexes[N].Keys[N].Direction | æ¯ | String | ç´¢å¼æ¹åï¼1ï¼ ASCï¼ -1ï¼ DESCï¼ 2dï¼åå |
| Indexes[N].Accesses | æ¯ | Array | ç´¢å¼ä½¿ç¨ä¿¡æ¯ |
| Indexes[N].Accesses[N].Ops | æ¯ | Number | ç´¢å¼å½ä¸æ¬¡æ° |
| Indexes[N].Accesses[N].Since | æ¯ | String | å½ä¸æ¬¡æ°ä»ä½æ¶å¼å§è®¡æ° |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è· å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.describeCollection("collectionAlreadyExists");
const { Indexes } = result;
for (let index in Indexes) {
console.log(index); // éåå
¨é¨ç´¢å¼
}
}
test();
listCollectionsâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ¥è¯¢éå详ç»ä¿¡æ¯
æ¥å£å£°æï¼listCollections(options: object): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| MgoOffset | å¦ | Number | å¯éï¼åç§»é |
| MgoLimit | å¦ | Number | å¯éï¼æ°ééå¶ |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Collections | æ¯ | Array | éåå表 |
| Collections[N].CollectionName | æ¯ | String | éååç§° |
| Collections[N].Count | æ¯ | Number | éåä¸ææ¡£æ°é |
| Collections[N].Size | æ¯ | Number | éåå ç¨ç©ºé´å¤§å°ï¼åè |
| Collections[N].IndexCount | æ¯ | Number | éåä¸ç´¢å¼ä¸ªæ° |
| Collections[N].IndexSize | æ¯ | Number | éåä¸ç´¢å¼å ç¨ç©ºé´å¤§å°ï¼åè |
| Pager | æ¯ | Object | æ¬æ¬¡æ¥è¯¢åé¡µä¿¡æ¯ |
| Pager.Offset | æ¯ | Number | åç§»é |
| Pager.Limit | æ¯ | Number | éå¶æ°é |
| Pager.Total | æ¯ | Number | éåæ°é |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.listCollections({
MgoOffset: 100,
MgoLimit: 10,
});
const { Collections } = result;
for (let collection in Collections) {
console.log(collection); // éåå
¨é¨collection
}
}
checkIndexExistsâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ£æ¥ç´¢å¼æ¯å¦åå¨
æ¥å£å£°æï¼checkIndexExists(collectionName: string, indexName: string): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| collectionName | æ¯ | String | éåå |
| indexName | æ¯ | String | ç´¢å¼å |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Exists | æ¯ | Boolean | ç´¢å¼æ¯å¦åå¨ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.checkIndexExists(
"collectionAlreadyExists",
"index_to_be_delete",
);
const { Exists } = result;
if (Exists === true) {
//ç´¢å¼åå¨
}
}
test();
importâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼å¯¼å ¥æ°æ®
æ¥å£å£°æï¼import(collectionName: string, file: object, options: object): Promise<Object>
注æï¼
- 该æ¥å£ç«å³è¿åï¼è¿ç§»ç¶æï¼æå|失败ï¼å¯éè¿ migrateStatus æ¥è¯¢ã
- å¯¼å ¥æ°æ®éè¦å å°æä»¶ä¸ä¼ å°è¯¥ç¯å¢ï¼åä¸ä¸ª EnvIdï¼ä¸ç对象åå¨ä¸ï¼æä»¥ä¼å¨å¯¹è±¡åå¨ä¸å建对象ã
- å ä¸ºè¯¥å½æ°æåè¿ååªæå³çä¸ä¼ æåï¼å¯¼å ¥æä½å¨ä¸ä¼ åå¼å§ï¼è¯¥æ¥å£æ æ³å¤æå¯¼å ¥æ¯å¦å®æï¼æä»¥è¯¥å¯¹è±¡ç¨å®åéè¦æå¨å é¤ã
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| collectionName | æ¯ | String | éåå |
| file | æ¯ | Array | æ°æ®ï¼ä»¥ä¸æ¹å¼å¿ éä¸ç§ |
| â FilePath | æ¯ | String | æ¬å°æ°æ®æä»¶è·¯å¾ |
| â ObjectKey | æ¯ | String | æ¬ç¯å¢ä¸å¯¹è±¡åå¨ Key |
| options | å¦ | Array | å¯éåæ° |
| â ObjectKeyPrefix | å¦ | String | 对象åå¨ Key åç¼ï¼é»è®¤ tmp/db-imports/ |
| â FileType | å¦ | String | æä»¶ç±»åï¼csv æ jsonï¼å¦æä¸ºä¼ 鿤忰ï¼é»è®¤ä¸ºæä»¶åç¼åï¼æ³¨æä½¿ç¨æ£ç¡®çåç¼åã |
| â StopOnError | å¦ | Boolean | éå°éè¯¯æ¶æ¯å¦åæ¢å¯¼å ¥ã |
| â ConflictMode | å¦ | String | å²çªå¤çæ¹å¼ï¼insert æ upsert |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| JobId | æ¯ | Number | ä»»å¡ IDï¼ç¨äºå¨ migrateStatus æ¥å£æ¥è¯¢è¿ç§»ç¶æ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let res = await database.import(
"collectionAlreadyExists",
{
ObjectKey: "data.csv",
},
{
// "FileType" : "csv",
StopOnError: true,
ConflictMode: "upsert",
},
);
const { JobId } = res;
console.log(JobId);
}
test();
exportâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼å¯¼åºæ°æ®ï¼è¿ç§»ç¶æï¼æå|失败ï¼å¯éè¿ migrateStatus æ¥è¯¢ã
æ¥å£å£°æï¼export(collectionName: string, file: object, options: object): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| collectionName | æ¯ | String | éåå |
| file | æ¯ | Array | æ°æ®ï¼ä»¥ä¸æ¹å¼å¿ éä¸ç§ |
| â ObjectKey | æ¯ | String | æ¬ç¯å¢ä¸å¯¹è±¡åå¨ Key |
| options | å¦ | Array | å¯éåæ° |
| â FileType | å¦ | String | æä»¶ç±»åï¼csv æ jsonï¼å¦æä¸ºä¼ 鿤忰ï¼é»è®¤ä¸ºæä»¶åç¼åï¼æ³¨æä½¿ç¨æ£ç¡®çåç¼å |
| â Query | å¦ | String | JSON åç¬¦ä¸²ï¼æ¯æ mongo æä»¤ãä¾å¦ï¼'{ a: { gte: 3 } }'ãä¸ mongodb æ¥è¯¢è¯æ³å
¼å®¹ |
| â Skip | å¦ | Number | åç§»é |
| â Limit | å¦ | Number | éå¶æ°ç® |
| â Sort | å¦ | Number | JSON å符串ï¼å¦ææç´¢å¼å䏿¯ææåºï¼æ°æ®éçé¿åº¦å¿ é¡»å°äº 32 å |
| â Fields | å¦ | String | å符串ï¼å段以éå·åå²ãFileType=csv æ¶å¿ å¡« |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| JobId | æ¯ | Number | ä»»å¡ IDï¼ç¨äºå¨ migrateStatus æ¥å£æ¥è¯¢è¿ç§»ç¶æ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.export(
"users",
{
ObjectKey: "users.json",
},
{
Fields: "_id,name",
Query: '{"name":{"$exists":true}}',
Sort: '{"name": -1}',
Skip: 0,
Limit: 1000,
},
);
const { JobId } = res;
console.log(JobId);
}
test();
migrateStatusâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼è¯¥æ¥å£å¯æ¥è¯¢è¿ç§»ï¼å¯¼å ¥|导åºï¼ç¶æã
æ¥å£å£°æï¼migrateStatus(jobId: number): Promise<Object>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| jobId | æ¯ | Integer | ä»»å¡ IDï¼import å export æ¥å£è¿åç JobId |
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Status | æ¯ | String | ä»»å¡ç¶æãå¯è½å¼ï¼waitingï¼çå¾ ä¸ï¼readingï¼è¯»ï¼writingï¼åï¼migratingï¼è½¬ç§»ä¸ï¼successï¼æåï¼failï¼å¤±è´¥ |
| RecordSuccess | æ¯ | Integer | è¿ç§»æåçæ°æ®æ¡æ° |
| RecordFail | æ¯ | Integer | è¿ç§»å¤±è´¥çæ°æ®æ¡æ° |
| ErrorMsg | æ¯ | String | è¿ç§»å¤±è´¥çå å |
| FileUrl | æ¯ | String | æä»¶ä¸è½½é¾æ¥ï¼ä» 卿°æ®åºå¯¼åºä¸ææ |
4. 示ä¾ä»£ç â
const cloudbaseConfig = {
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // äºå¼åç¯å¢IDï¼å¯å¨è
¾è®¯äºäºå¼åæ§å¶å°è·å
};
let { database } = new CloudBase(cloudbaseConfig);
async function test() {
let result = await database.migrateStatus(100093275);
console.log(result.Status); // æå°è¿ ç§»ç¶æ
}
test();
distributionâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ¥è¯¢æ°æ®åå¸
æ¥å£å£°æï¼distribution(): Promise<Object>
2. è¾å ¥åæ°â
æ
3. è¿åç»æâ
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| RequestId | æ¯ | String | 请æ±å¯ä¸æ è¯ |
| Collections | æ¯ | Array |