Задать вопрос
@diman91

Сортировка в MongoDB?

Всем привет. Уже который день ломаю голову с сортировкой. Есть документ:
user:{ 
	type: Schema.ObjectId, 
	ref: 'User',
	required: true,
	index: true
},
title:{
	type: String
},
txt:{
	type: String
},
created:{
	type: Date,
	default: Date.now
},
reposts: [{
	user: {
		type: Schema.Types.ObjectId,
		ref: 'User',
		index: true
	},
	created: {
		type: Date,
		default: Date.now
	}
}]

Нужно вывести все посты и репосты пользователя отсортировав по дате, собственные посты сортируются по дате создания самого поста а репосты по дате создания репоста.
Например:
a = {
	user:"Вася",
	title:"Привет",
	txt:"Привет мир",
	created:"29-10-2014",
	reposts:[]
}
b = {
	user:"Вася",
	title:"Привет",
	txt:"Привет мир",
	created:"29-11-2014",
	reposts:[]
}
c = {
	user:"Петя",
	title:"Привет",
	txt:"Привет мир",
	created:"29-09-2014",
	reposts:[
		user:"Вася",
		created:"29-12-2014"
	]
}
b = {
	user:"Вася",
	title:"Привет",
	txt:"Привет мир",
	created:"25-11-2014",
	reposts:[]
}

Васины посты/репосты должны быть отсортированы так: c,b,d,a
Буду рад людому совету.
  • Вопрос задан
  • 2805 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lega
Хранить репосты как отдельные документы (с ссылкой на оригинал если нужно), тогда и индекс и запрос будет простой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы