У меня есть приложение в Nodejs, которое использует mongoose.У меня есть коллекция, которая в одном поле для каждых 15 записей сохраняет те же значения, но это значение является длинной строкой, которую я создал ранее.Теперь я хочу, чтобы каждые 15 фотографий меняли значения этих полей (длинная строка) на инкрементные числа с 1..n, например:
'qwerasdfzxcvqwerasdfzxcv' => '1',
'qwerasdfzxcvqwerasdfzxcv' => '1',
(13 more records)...
'qazwsxedcrfvtgbyhnuhnujm' => '2',
'qazwsxedcrfvtgbyhnuhnujm' => '2',
(13 more records)...
Результаты JSON из MongoDB:
[{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQwMDgzOTl9.2YvhnXtCD7-fm4B14k10m6NF7xuv7moCTbekVekkbvY","category":"Wasp","photo":"A_wasp_565","description":"","answer":"Bee","__v":0},{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQwMDgzOTl9.2YvhnXtCD7-fm4B14k10m6NF7xuv7moCTbekVekkbvY","category":"Wasp","photo":"A_Pompilid_wasp_007","description":"","answer":"Wasp","__v":0},{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQwMDgzOTl9.2YvhnXtCD7-fm4B14k10m6NF7xuv7moCTbekVekkbvY","category":"Wasp","photo":"wasp_248","description":"","answer":"Wasp","__v":0},...,{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQwMDgzOTl9.2YvhnXtCD7-fm4B14k10m6NF7xuv7moCTbekVekkbvY","category":"Wasp","photo":"A_wasp_555","description":"","answer":"Moth/Butterfly","__v":0},{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQxMTYzNzJ9.jTQ06D5nw_xuCP0q0GVzaMmi3XipeNsf_RX5tAzenh8","category":"Wasp","photo":"A_wasp_565","description":"","answer":"Wasp","__v":0},{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQxMTYzNzJ9.jTQ06D5nw_xuCP0q0GVzaMmi3XipeNsf_RX5tAzenh8","category":"Wasp","photo":"A_Pompilid_wasp_007","description":"","answer":"Wasp","__v":0},{"ID":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOjE5LCJpYXQiOjE1MjQxMTYzNzJ9.jTQ06D5nw_xuCP0q0GVzaMmi3XipeNsf_RX5tAzenh8","category":"Wasp","photo":"A_wasp_555","description":"","answer":"Wasp","__v":0}]}
Я хочуобновить выше до этого:
[{"ID":"1","category":"Wasp","photo":"A_wasp_565","description":"","answer":"Bee","__v":0},{"ID":"1","category":"Wasp","photo":"A_Pompilid_wasp_007","description":"","answer":"Wasp","__v":0},{"ID":"1","category":"Wasp","photo":"wasp_248","description":"","answer":"Wasp","__v":0},...,{"ID":"1","category":"Wasp","photo":"A_wasp_555","description":"","answer":"Moth/Butterfly","__v":0},{"ID":"2","category":"Wasp","photo":"A_wasp_565","description":"","answer":"Wasp","__v":0},{"ID":"2","category":"Wasp","photo":"A_Pompilid_wasp_007","description":"","answer":"Wasp","__v":0},{"ID":"2","category":"Wasp","photo":"A_wasp_555","description":"","answer":"Wasp","__v":0}]}
Таким образом, все эти 15 записей (которые уже имеют одинаковые значения, но длинные) будут иметь одинаковое число, но читаемое значение, а не эту длинную строку.
Мой вопрос заключается в том, как я могу сделать запрос для этого?(команды mongoose)
Это мой модельный модуль в узле (ID - это поле, которое я хочу изменить):
var Schema = mongoose.Schema;
var SurveyAnswersSchema = new Schema({
_id: {type: String},
ID: {type: String},
answer: { type: String},
description: {type: String},
category: { type: String, enum: ['Bee', 'Beetle', 'Fly', 'Moth/Butterfly', 'Wasp' ] },
});
module.exports = mongoose.model('surveyanswers', SurveyAnswersSchema);
Что я должен написать здесь?(модуль контроллера)
var SurveyResults = require('../models/surveyResults');
module.exports.reportAnswers = function (callback) {
**// instead of this line what should I write?**
SurveyResults.find({ID: 'this.ID'},{ID: number}, callback);
};
Спасибо за помощь.