Я думаю, что в этом случае имеет смысл использовать родительские ссылки.
И поскольку totalPoints можно рассчитать по точкам в приложении, нет необходимости сохранять их в одной из моделей.
const userSchema = new mongoose.Schema({
name: String,
email: String,
...
});
const pointSchema = new mongoose.Schema({
datetime: date,
currentPoint: number,
description: String,
user: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: [true, "Point must have a user"]
}
});
Итак, наша модель User проста, и добавить точку в коллекцию точек довольно просто (обычная вставка, без манипуляций с массивами)