У меня есть 2 коллекции, и я пытаюсь получить все записи от Coll_A
, где определенное поле (Field1
) нет в Coll_B
.mongodb - nin & regex на массиве
Проблема, с которой я столкнулся, заключается в том, что этот Field1
в , который содержит строковое значение, заполняется в конце белыми пространствами до определенной длины, но это дополнение отсутствует в другой коллекции.
Итак, для нижеследующего запроса массив vals
имеет записи, которые не заполняются, поэтому, когда я использую db.Coll_A.find
, он возвращает неверные результаты.
vals = db.Coll_B.find({},
{"Field1" : 1, _id: 0})
.map(function(a){
return a.Field1;
});
db.Coll_A.find({ "Field1": { $nin: vals }});
Как я могу обойти это? Я искал, используя regex
для игнорирования пробелов, но я не уверен, как это можно использовать здесь. Любая помощь будет действительно оценена. Благодарю.
Спасибо! Я не знал, что могу изменить возврат к массиву регулярных выражений. Это отлично сработало для меня. – user3723491