Я обрабатываю поток текстовых данных, где я не знаю заранее, что распределение ее значения, но я знаю, что каждый из них выглядит следующим образом:Должным цепочки таблицы и объекта Создание RethinkDB команды с rethinkdbdash
{
"datetime": "1986-11-03T08:30:00-07:00",
"word": "wordA",
"value": "someValue"
}
Я пытаюсь ведро его в объекты RethinkDB на основе его значение, в котором объекты выглядят следующим образом:
{
"bucketId": "1",
"bucketValues": {
"wordA": [
{"datetime": "1986-11-03T08:30:00-07:00"},
{"datetime": "1986-11-03T08:30:00-07:00"}
],
"wordB": [
{"datetime": "1986-11-03T08:30:00-07:00"},
{"datetime": "1986-11-03T08:30:00-07:00"}
]
}
}
цель состоит в том, чтобы в конечном счете подсчитать количество вхождений каждого слова в каждом ведре ,
Поскольку я имею дело с миллионными ведрами и не знаю слов раньше, план заключается в создании этих объектов на лету. Однако я новичок в RethinkDB, и я старался изо всех сил сделать это таким образом, что я не пытаюсь добавить ключ word
в ведро, которое еще не существует, но я не совсем уверен, что если я «м следуя передовой опыт здесь цепочки команд следующим образом (обратите внимание, что я бег это на сервере Node.js с помощью:
var bucketId = "someId";
var word = "someWordValue"
r.do(r.table("buckets").get(bucketId), function(result) {
return r.branch(
// If the bucket doesn't exist
result.eq(null),
// Create it
r.table("buckets").insert({
"id": bucketId,
"bucketValues" : {}
}),
// Else do nothing
"Bucket already exists"
);
})
.run()
.then(function(result) {
console.log(result);
r.table("buckets").get(bucketId)
.do(function(bucket) {
return r.branch(
// if the word already exists
bucket("bucketValues").keys().contains(word),
// Just append to it (code not implemented yet)
"Word already exists",
// Else create the word and append it
r.table("buckets").get(bucketId).update(
{"bucketValues": r.object(word, [/*Put the timestamp here*/])}
)
);
})
.run()
.then(function(result) {
console.log(result);
});
});
Мне нужно выполнить запустить здесь два раза делать, или я способ покинуть базу на как вы должны правильно комбинировать вещи вместе с RethinkDB? Я просто хочу убедиться, что я не делаю этого неправильно/трудно, прежде чем я углубится в это.
Отлично, что работал отлично. Спасибо! – Brideau