Могу ли я использовать mongoexport --query <файл>, где файл представляет собой список условий
У меня есть массив идентификаторов, хранящихся в файле, и я хочу получить их данные из mongdb, поэтому я изучил метод mongoexport. Кажется, опция --query может принимать только json вместо чтения большого json или массива из файла. В моем случае это около 4000 идентификаторов, хранящихся в файле. Есть ли этому решение?
Я смог использовать mongoexport --db db - коллекция коллекций - имя поля --csv -oout ~/data.csv, но как прочитать условия запроса из файла
например, для mongoid в приложении rails, запрос выглядит так: Data.where(:_id.in => array).
или это можно сделать из оболочки Монго, выполнив файл JavaScript
ТКС
1 ответ
Я считаю, что вы можете использовать JavaScript для вывода нужного вам массива.
Вы можете использовать команду "printjson" в вашем скрипте, например:
создайте файл script.js javascript следующим образом:
script.js:
printjson (db.albums.find ({_ id: 18}, {"images": 1, "_ id": 0}). toArray ())
Позвоните привет, как следует:
mongo test script.js> out.txt
В моем локальном окружении коллекция альбомов имеет следующую структуру:
db.albums.findOne({"_id":18
{
"_id" : 18,
"images" : [
2926,
5377,
8036,
9023,
10119,
11543,
12305,
12556,
12576,
13753,
14414,
14865,
15193,
15933,
17156,
17314,
17391,
20168,
21705,
22016,
22348,
23036,
23452,
24112,
27086,
27310,
27864,
28092,
29184,
29190,
29250,
29354,
29454,
29563,
30366,
30619,
31390,
31825,
31906,
32339,
32674,
33307,
33844,
37475,
37976,
38717,
38774,
39801,
41369,
41752,
44977,
45384,
45643,
46918,
47069,
50099,
52755,
54314,
54497,
62338,
63438,
63572,
63600,
65631,
66953,
67160,
67369,
69802,
71087,
71127,
71282,
73123,
73201,
73954,
74972,
76279,
77054,
78397,
78645,
78936,
79364,
79707,
83065,
83142,
83568,
84160,
85391,
85443,
85488,
86143,
86240,
86949,
89406,
89846,
92591,
92639,
92655,
93844,
93934,
94987,
95324,
95431,
95817,
95864,
96230,
96975,
97026
]
}
>
Итак, результат, который я получил, был:
$ cat out.txt
MongoDB shell version: 2.2.1
connecting to: test
[
{
"images" : [
2926,
5377,
8036,
9023,
10119,
11543,
12305,
12556,
12576,
13753,
14414,
14865,
15193,
15933,
17156,
17314,
17391,
20168,
21705,
22016,
22348,
23036,
23452,
24112,
27086,
27310,
27864,
28092,
29184,
29190,
29250,
29354,
29454,
29563,
30366,
30619,
31390,
31825,
31906,
32339,
32674,
33307,
33844,
37475,
37976,
38717,
38774,
39801,
41369,
41752,
44977,
45384,
45643,
46918,
47069,
50099,
52755,
54314,
54497,
62338,
63438,
63572,
63600,
65631,
66953,
67160,
67369,
69802,
71087,
71127,
71282,
73123,
73201,
73954,
74972,
76279,
77054,
78397,
78645,
78936,
79364,
79707,
83065,
83142,
83568,
84160,
85391,
85443,
85488,
86143,
86240,
86949,
89406,
89846,
92591,
92639,
92655,
93844,
93934,
94987,
95324,
95431,
95817,
95864,
96230,
96975,
97026
]
}
]
С уважением, Moacy