Shell Mongo Query возвращает 0 результатов с $ nin - PullRequest
0 голосов
/ 17 октября 2018

Я написал скрипт для подключения к базе данных MongoDB для получения информации и вставки ее через запрос curl в другую базу.Когда это сделано, скрипт записывает в файл .txt вставленные идентификаторы.Когда я снова запускаю скрипт, файл .txt загружается для импорта только идентификаторов, которых нет в файле .txt

Но Монго не покажет мне результаты, когда я попытаюсь установить для параметров $nin значениезагрузить, только строки не в .txt файлах.

Ниже мой тестовый скрипт:

#!/bin/bash

filter=$(<personKey.txt)
filter="$(echo $filter|sed -e 's/ /'\'','\''/g')"
filter="$(echo $filter|sed -e s/^/\'/ -e s/$/\',/)"
filter=${filter%?}
echo $filter

echo "db.getCollection('persons').find({'documents.document.personKey': {'\$nin':[${filter}]}},{'documents.document.personKey':1,'documents.document.watchlistKey':1,'documents.document.first_name':1})"

QueryResult=`mongo $IP_MONGO:$PORT_MONGO/MyBase -u "username" -p "Password" --quiet --eval "db.getCollection('person').find({{'documents.document.personKey': {'\$nin':[${filter}]}},{'documents.document.personKey':1,'documents.document.watchlistKey':1,'documents.document.first_name':1})"`

echo ${QueryResult}
...