Цитата:
Внизу страницы ссылка на драйверы для node, php .... |
Цитата:
2. Что скажете об Arangodb? По описсание комбайн + перфоманс лучше, чем у ... (по инфе с офф. сайта) http://stackoverflow.com/a/24392094 |
Советую не верить бенчам, т.к. в большинстве случаев там читерство, например на бенчах ориента монго в режиме журналирование, а ориент без и разумеется ориент шустрее выходит) по факту главным критерием субд является скалируемость, а остальное уже от задач (например есть задачи где частое чтение, и редкая запись и наоборот, то там могут быть хороши совершенное разные решения).
|
Цитата:
|
Цитата:
|
|
Цитата:
Вместе с тем мне нужно выбрать ДБ, которая бы отвечала определенным требованиям, среди которых: 1. отказоустройчивость 2. масштабируемость (без джойнов) 3. сравнительно легкая "эмуляция" отношений (one-to-many etc.) 4. транзакции 5. document, key-value, graph БД 6. ... |
Вопрос по запросам в Mongoose / MongoDB:
Требуется выбрать все Issue пользователя, которые: - или были созданы пользователем (issue.authorId === user.id) - или были назначены на пользователя (issue.assigneeId === user.id) - или те, в которых пользователь оставлял комментарии (notes.notableId.contains(issue.id)) Есть три схемы (ниже они упрощены)
// Issue
const schema = new mongoose.Schema(
{
id: Number,
authorId: Number,
assigneeId: Number
}
);
schema.virtual('notes', {
ref: 'Note',
localField: 'id',
foreignField: 'noteableId'
});
// Note
const schema = new mongoose.Schema(
{
id: Number,
noteableId: Number,
authorId: Number
}
);
// User
const schema = new mongoose.Schema(
{
id: Number
}
);
И два запроса
let id = 21; // user.id пользователь
let $in = yield Note.find({authorId:id}).distinct('noteableId'); // все id комментариев пользователя
this.response.body = yield Issue.find({
$or: [
{authorId:id},
{assigneeId:id},
{id:{$in}}
]
});
Можно ли это сделать в 1 запрос? Спасибо. |
Что-то закреплённых тем в оффтопике дофига. Не сразу свою новую тему нашёл. Придётся прибегнуть к пиару чёрному: http://javascript.ru/forum/offtopic/...rrektnost.html
|
Цитата:
|
| Часовой пояс GMT +3, время: 08:05. |