我的 Web 应用程序无法连接到 MongoDB 容器
这是我的 application.yml
spring:
data:
mongodb:
uri: mongodb://mongo:27017
host: mongo
port: 27017
database: my-db-name
Run Code Online (Sandbox Code Playgroud)
这是我的 Docker-Compose
version: "3"
services:
java:
build:
context: ./
ports:
- "8080:8080"
links:
- mongo
depends_on:
- mongo
networks:
- shared-net
mongo:
image: 'mongo'
ports:
- 27017:27017
hostname: mongo
volumes:
- ./data/db:/data/db
networks:
- shared-net
networks:
shared-net:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
这是为运行 java 而编写的 Dockerfile
FROM openjdk:11
COPY ./code/lemon-backend/target/lemon-0.0.1-SNAPSHOT.jar /usr/src/
WORKDIR /usr/src/
EXPOSE 8080
CMD ["java", "-jar", "lemon-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)
我什至无法使用这些选项构建应用程序,我收到此异常:
org.mongodb.driver.cluster: Exception in monitor thread …
我需要为我的 graphql 类型创建自定义分页结果。
这是我PaginateResult的@ObjectType:
@ObjectType()
export class PaginateResult<T> {
@Field()
docs: T[];
@Field()
totalDocs: string;
@Field()
totalPages: string;
}
Run Code Online (Sandbox Code Playgroud)
及其在解析器中的调用:
@Query((type) => PaginateResult<User>, { nullable: true })
async getUsers(@Args({ type: () => GetAllUserArgs }) args: GetAllUserArgs) {
const queryResolver: QueryResolver = new QueryResolver(args);
return this.userService.getAll(queryResolver.query);
}
Run Code Online (Sandbox Code Playgroud)
和User@ObjectType
@ObjectType()
export class User {
@Field(() => ID)
id: string;
@Field()
fullName: string;
@Field()
companyName: string;
@Field()
mobile: string;
@Field({ nullable: true })
profilePhoto?: string;
@Field() …Run Code Online (Sandbox Code Playgroud)