Eu encontrei muitos problemas de lidar com a serialização / desserialização de tipos de dados Scala para / de objetos JSON e, em seguida, armazená-los para / do MongoDB no formulário BSON.
1ª pergunta: por que o Play Framework usa JSON por que o MongoDb usa o BSON.
2ª pergunta: Se eu não estiver errado, o Javascript não tem leitores e gravadores para serializar / desserializar o BSON do MongoDB. Como isso pode acontecer? O JavaScript pode lidar perfeitamente com JSON, mas para BSON eu espero que ele precise de algum tipo de leitores e escritores.
3ª pergunta: (Eu li em algum lugar) porque o Salat e o ReactiveMongo usam mecanismos diferentes para falar com o MongoDB.
Respostas:
1 para resposta № 1O JSON é um formato amplamente usado para transferência de dados nos dias atuais. Tão bom tê-lo "da caixa" no framework web. Essa é a razão pela qual o Play tem isso.
A mesma razão mongo usá-lo - é uma boa idéiapara armazenar dados no mesmo formato que a consulta do usuário e salvá-los. Então, por que o mongo usa o BSON, mas o JSON? Bem, o BSON é o mesmo que o JSON, mas tem propriedades adicionais em cada valor - comprimento de dados e tipo de dados. A razão disso - quando você está procurando muitos dados (como a consulta do banco de dados) você precisa ler todo o objeto em JSON para obter outro. Podemos pular a leitura no caso, se soubermos o comprimento dos dados.
Portanto, você não precisa de nenhum leitor BSON no JS (ele pode estar em algum lugar, mas é raramente usado) porque o BSON é um formato dentro do uso do banco de dados.
você pode ler Este artigo para mais informações