У меня есть коллекция с этой структурой:MongoDB пользовательские полей с другим запросом
{
_id : <number>,
param1 : <number>,
param2 : <number>,
param3 : <number>,
.
.
.
}
Я хотел бы получить документы обратно, которые имеют право на условия и содержит дополнительный параметр массива с _id значениями тех, документы, которые имеют такое же значение в «param1», что и фактическая строка. Так что я бы результат, как этот:
{
_id : <number>,
param1 : <number>,
param2 : <number>,
param3 : <number>,
.
.
.
extraParameter: [{_id: 1}, {_id: 5}, {_id: 7}, {_id: 10} ...]
}
я не уверен, если я могу это сделать, но надеюсь, что вы можете мне помочь найти лучшее решение для этого.
Спасибо!
Отредактировано:
Я уже сделал следующий запрос для этого, но документация говорит, не прикасайтесь к базе данных на карте, но я не знаю, есть ли другой способ или нет ... или там легче один ?:
db.collection.find().forEach(function(row){
row.nexts = db.collection.find({param1: row.param1}).map(function(nextElement){
return {_id: nextElement._id};});
return row;}
)
extraParameter означает значения из 'param1', 'param2' и т. Д. Или вы имеете в виду соответствие между документами. Измените пожалуйста, так как ваш вопрос не так понятен. –
@Neil Я отредактировал ... это ясно, что я хочу достичь? – geri