Я работаю над применением стека MEAN. В моем проекте есть форма, в которой есть семь полей. Из 7 полей, 3 из коллекции dept и 4 из коллекции пользователей. Когда мы ищем только с одним полем, тогда проблем нет. Но когда мы отправляем два текстовых поля из разных коллекций каждый, они показывают неправильные данные. Как известно, в mongo db нет операции соединения. Как мы можем присоединиться к двум коллекциям? Пожалуйста, помогите мне !!! Предположим, что это семь полей в моей форме. неПоиск из двух коллекций mongo
Единица Название: Продавец Имя: Код: Клиент №: адрес: статус taxid:
В приведенном выше списке, имя блока, продавец имя и код приходят из офиса collection.Client нет, адрес, статус, taxid поступают из сбора данных. теперь я пытаюсь найти название элемента со статусом «active». Итак, теперь я пытаюсь выполнить поиск из офисной коллекции, а затем использовать id в наборе данных.
Просто, пожалуйста, расскажите, как мы можем выполнить присоединение к mongodb. Как мы можем выполнить совместную операцию в mongodb.
if (string.$and.length > 0) {
office.find(string).exec(function(err, office) {
if (err) {
return next(err);
} else {
for (var i = 0; i < office.length; i++) {
ids.push(office[i]._id);
}
string.$and.push({
$or: [{
data_id: {
"$in": ids
}
}
}]
});
if (string1.$and.length > 0) {
data.find(string).populate('data_id').exec(function(err, data) {
if (err) {
return next(err);
} else {
res.json(data);
}
});
} else {
data.find({
$or: [{
data_id: {
"$in": ids
}
}, {
data_nu: {
"$in": data_nu
}
}]
}).populate('data_id').exec(function(err, data) {
if (err) {
return next(err);
} else {
res.json(data_id);
}
});
}
}
});
} else {
data.find(string).exec(function(err, data) {
if (err) {
console.log(err);
return next(err);
} else {
for (var i = 0; i < data.length; i++) {
ids.push(data[i].data_id);
data_nu.push(data[i].data_nu);
}
if (string.$and.length > 0) {
office.find({
$and: [{
$or: [{
id: {
"$in": ids
}
}, {
data_nu: {
"$in": data_nu
}
}]
}, string]
}).populate('dataId').exec(function(err, datad) {
if (err) {
return next(err);
} else {
res.json(datad);
}
});
} else {
datad.find({
$or: [{
id: {
"$in": ids
}
}, {
data_nu: {
"$in": data_nu
}
}]
}).populate('dataId').exec(function(err, datad) {
if (err) {
return next(err);
} else {
res.json(datad);
}
});
}
}
});
}
Пожалуйста, добавьте код, который поможет нам помочь. И уточните, что вы хотели бы достичь с помощью некоторого примера. –