Do not use _replyIds (#3392)

This commit is contained in:
MeiMei 2018-11-23 23:12:28 +09:00 committed by syuilo
parent 915d352505
commit f2f7bdc5a9
3 changed files with 10 additions and 14 deletions

View file

@ -18,6 +18,7 @@ Note.createIndex('uri', { sparse: true, unique: true });
Note.createIndex('userId'); Note.createIndex('userId');
Note.createIndex('mentions'); Note.createIndex('mentions');
Note.createIndex('visibleUserIds'); Note.createIndex('visibleUserIds');
Note.createIndex('replyId');
Note.createIndex('tagsLower'); Note.createIndex('tagsLower');
Note.createIndex('_user.host'); Note.createIndex('_user.host');
Note.createIndex('_files._id'); Note.createIndex('_files._id');
@ -99,7 +100,6 @@ export type INote = {
host: string; host: string;
inbox?: string; inbox?: string;
}; };
_replyIds?: mongo.ObjectID[];
_files?: IDriveFile[]; _files?: IDriveFile[];
}; };
@ -258,6 +258,8 @@ export const pack = async (
delete _note._reply; delete _note._reply;
delete _note._renote; delete _note._renote;
delete _note._files; delete _note._files;
delete _note._replyIds;
if (_note.geo) delete _note.geo.type; if (_note.geo) delete _note.geo.type;
// Populate user // Populate user

View file

@ -33,16 +33,13 @@ export const meta = {
}; };
export default define(meta, (ps, user) => new Promise(async (res, rej) => { export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Lookup note
const note = await Note.findOne({ const notes = await Note.find({
_id: ps.noteId replyId: ps.noteId
}, {
limit: ps.limit,
skip: ps.offset
}); });
if (note === null) { res(await packMany(notes, user));
return rej('note not found');
}
const ids = (note._replyIds || []).slice(ps.offset, ps.offset + ps.limit);
res(await packMany(ids, user));
})); }));

View file

@ -622,9 +622,6 @@ function saveQuote(renote: INote, note: INote) {
function saveReply(reply: INote, note: INote) { function saveReply(reply: INote, note: INote) {
Note.update({ _id: reply._id }, { Note.update({ _id: reply._id }, {
$push: {
_replyIds: note._id
},
$inc: { $inc: {
repliesCount: 1 repliesCount: 1
} }