2016-04-13 3 views
0

Я вставляю json-файл в Mongodb (с Scala/Play framework) и тем же образом загружаю его в свою страницу просмотра для какого-то другого требования, но на этот раз он приходит с одним параметром «_id» в json-файле.Как удалить _id из результатов MongoDB?

Но мне нужен только мой фактический файл json, который не имеет никакого параметра «_id». Я прочитал учебник Mongodb, который по умолчанию хранит его с одним _id для любого документа коллекции.

Пожалуйста, дайте мне знать, как я могу получить или есть шанс получить мой фактический файл json без _id в MongoDB.

это результат JSON, который хранит в базе данных (не нужно, что параметр «_id»)

{ 
     "testjson": [{ 
     "key01": "value1", 
     "key02": "value02", 
     "key03": "value03" 
    }], 
    "_id": 1 
} 

ответ

2

Если у вас есть ReactiveMongo dev guide и его API, вы можете видеть, что он поддерживает проекцию в similar way as the MongoDB shell.

Тогда вы можете понять, что вы можете сделать

collection.find(selector = BSONDocument(), projection = BSONDocument("_id" -> 0)) 

Или, как вы используете JSON serialization:

collection.find(selector = Json.obj(), projection = Json.obj("_id" -> 0)) 
+0

благодарит вас за ответ, я добавил в соответствии с вашим комментарием, но на этот раз также вижу, что _id добавляется в мой json. Отредактировал вышеуказанный запрос в описании – Dhana

+0

Я добавил то же самое в другое место в другом файле, теперь он отлично работает. Спасибо за вашу помощь !! – Dhana

1

Вы можете использовать этот запрос в оболочке:

db.testtable.find({},{"_id" : false}) 

Здесь мы сообщаем mongoDB не возвращать _id из коллекции. Вы также можете использовать 0 вместо ложного, как это:

db.testtable.find({},{"_id" : 0}) 

для Скале вам нужно, чтобы преобразовать его в в соответствии с синтаксисом драйвера.

+0

спасибо за ответ, да это дает без _id из коллекции, если я запустите его на консоли. Но я не уверен, как я могу применить его в scala. – Dhana

+0

Просто найдите его в документации. Не так ли? –

+0

Да, я проверяю документацию Play/Scala, но я не мог найти. – Dhana

Смежные вопросы