Мы можем объединить две коллекции, используя sub-запрос mongoDB. Вот пример, Комментарии -
`db.commentss.insert([
{ uid:12345, pid:444, comment:"blah" },
{ uid:12345, pid:888, comment:"asdf" },
{ uid:99999, pid:444, comment:"qwer" }])`
Пользователи -
db.userss.insert([
{ uid:12345, name:"john" },
{ uid:99999, name:"mia" }])
Суб-запрос MongoDB для JOIN -
`db.commentss.find().forEach(
function (newComments) {
newComments.userss = db.userss.find( { "uid": newComments.uid } ).toArray();
db.newCommentUsers.insert(newComments);
}
);`
Получить результат из недавно созданная коллекция -
db.newCommentUsers.find().pretty()
Результат -
`{
"_id" : ObjectId("5511236e29709afa03f226ef"),
"uid" : 12345,
"pid" : 444,
"comment" : "blah",
"userss" : [
{
"_id" : ObjectId("5511238129709afa03f226f2"),
"uid" : 12345,
"name" : "john"
}
]
}
{
"_id" : ObjectId("5511236e29709afa03f226f0"),
"uid" : 12345,
"pid" : 888,
"comment" : "asdf",
"userss" : [
{
"_id" : ObjectId("5511238129709afa03f226f2"),
"uid" : 12345,
"name" : "john"
}
]
}
{
"_id" : ObjectId("5511236e29709afa03f226f1"),
"uid" : 99999,
"pid" : 444,
"comment" : "qwer",
"userss" : [
{
"_id" : ObjectId("5511238129709afa03f226f3"),
"uid" : 99999,
"name" : "mia"
}
]
}`
Надеюсь, что это поможет.
Я также никогда не начинал использовать Mylyn, и я думаю, что это то, что предоставляет "Java Proposals (Сосредоточен на задаче) ". Что бы он купил мне, если я не использую баг-трекер re не имеет отношения к задаче. Когда вы закрываете редактор, класс / файл / etc. удаляется из контекста и больше не отображается в проводнике пакетов. Средняя задача разработки не требует более дюжины или около того файлов, достаточно небольшого количества файлов и окон редактора, чтобы они оставались открытыми, пока вы работаете над ней.
Если вы сейчас создали другую задачу (локально или в репозитории), а затем активировав его, вы бы снова начали с очищенным проводником пакетов и создавали контекст по мере работы.
Затем, если вы повторно активировали первую задачу, вы бы увидели интересную вещь: Окна, которые вы открыли, закроются, и проводник пакетов очистится, а затем появится содержимое проводника с того момента, когда вы в последний раз работали над этой задачей, и все окна, которые вы открыли в то время, теперь будут открыты снова! Вы' вернуться к работе над этим. Это очень удобно.
Вот краткое описание того, что вы можете делать с Mylyn без интегрированного репозитория. Если вам интересно узнать больше, вы можете зайти на http://www.eclipse.org/mylyn/ и прочитать, что там.
I've never seen a result for the PDE, SWT, Template or Word proposals. When are they useful?
Probably if you are working on a PDE or SWT project.
I've also never really started using Mylyn, which I imagine is what provides "Java Proposals (Task-focused)". What would that buy me, if I'm not using a bug-tracker that Mynlyn understands?
Again this is probably for uses cases (people using Mylyn) that aren't yours.
деление и изменение обычно выполняются медленно. Я хотел узнать, будет ли решение, использующее умножение и вычитание, будет быстрее, и, похоже, (на моем компьютере):
public static void ConvertToArrayOfDigits2(int value, int[] digits)
{
double v = value;
double vby10 = v * .1;
for (int index = digits.Length - 1; index >= 0; index--)
{
int ivby10 = (int)vby10;
digits[index] = (int)(v)- ivby10* 10;
v = ivby10;
vby10 = ivby10 * .1;
}
}
Я передаю массив вместо того, чтобы каждый раз выделять его, чтобы выделить распределитель памяти и длину из уравнение. Эта версия будет выдавать ведущие нули, если массив длиннее числа. По сравнению с аналогичной преобразованной версией примера Джона:
public static void ConvertToArrayOfDigits(int value, int[] digits){
for (int index = digits.Length - 1; index >= 0; index--) {
digits[index] = value % 10;
value = value / 10;
}
}
версия без разделения / модификации потребовала примерно на 50 больше времени для генерации всех массивов до заданного числа. Я также пробовал использовать числа с плавающей запятой, и это было лишь примерно на 5-10% медленнее (двойная версия была быстрее, чем версия с плавающей запятой).
Просто потому, что это меня беспокоило, вот развернутая версия, которая снова немного быстрее: Хорошим примером является ввод table
, поскольку это покажет шаблоны для Table
, TableColumn
и TableItem
.
Обратите внимание, что для этого в проекте должен быть SWT.