Couchbase에서 테스트 데이터 node를 만듭니다.각본
Couchbase에서 테스트 데이터 node를 만듭니다.각본
며칠 전에 설치된 Couchbase에 테스트 데이터를 등록합니다.
대량의 데이터에 대한 투입은 표준 CLI 도구cbdocloader를 사용하면 완성할 수 있을 것 같지만, 내가 어떻게 알았는지, node.js로 만들어 봤어요.
스크립트도 지허브에 공개됐다.
fujisan3/node.js-scripts
add-couchbase-data1.js
i < 1000
부분모듈 사용
설치하다.
(node.js 설치)
1. 적합한 디렉터리 만들기
2.package.json 파일 만들기
package.json
{
"devDependencies": {
"couchbase": "*",
"crypto": "*",
"async": "*"
}
}
3. npm 설치에 의존 모듈 설치4. 이 디렉토리에서dd-couchbase-data 1.js 파일 설정
실행
# node add-couchbase-data1
각본
var couchbase = require('couchbase');
var crypto = require('crypto');
var async = require('async');
function randomInt (low, high) {
return Math.floor(Math.random() * (high - low + 1) + low);
}
function md5String (src) {
var md5hash = crypto.createHash('md5');
md5hash.update(src, 'UTF8');
return md5hash.digest('hex');
};
/*
Data Format
---------------
key = MD5 Hash from DocumentData
doc =
{
"user" : "user-"[1=>i]
"age" : random[10-90]
}
---------------
*/
var destinationString = 'localhost:8091';
var cluster = new couchbase.Cluster(destinationString);
var bucket = cluster.openBucket('default', function (err) {
if (err) {
console.log('Connection Error:', err);
throw err;
} else {
var counter = [];
for (var i = 0; i < 1000; i++) {
counter[i] = i;
}
async.eachSeries(counter, function(i, next) {
doc = "{\n";
doc = doc + "\"user\" : \"user-" + (i+1) + "\" , \n";
doc = doc + "\"age\" : \"" + randomInt(10, 90) + "\"\n";
doc = doc + "}\n";
key = md5String(doc);
console.log("key=" + key);
console.log("doc=" + doc);
bucket.upsert(key, doc, function(err, result) {
if (err) {
console.log('Insert Error!' + (i+1));
throw err;
} else {
}
});
console.log('Inserted : ' + (i+1));
next();
}, function(err) {
console.log('Finished!');
bucket.disconnect();
});
}
});
실행 예
등록했어.이런 느낌.
key=3385b5a19bc14f744aa00d34d3785ce0
doc={
"user" : "user-1" ,
"age" : "16"
}
Inserted : 1
key=41318a900e67b19efc7aec70831c329e
doc={
"user" : "user-2" ,
"age" : "38"
}
Inserted : 2
key=e49f5942dc10f9c8e95d538fd4cba305
doc={
"user" : "user-3" ,
"age" : "55"
}
Inserted : 3
Finished!
말은 그렇지만
Couchbase에서 유일한 열쇠를 만들어야 하는 것은 매우 번거롭다.몬godb라면 JSON만 가입하면 되니까 편해요.뭐 좋은 방법 있어요?
Reference
이 문제에 관하여(Couchbase에서 테스트 데이터 node를 만듭니다.각본), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fujisan3/items/cfc81c466c65beaf66a7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)