From ec5d960a049bdd329c9af4d08ee81363d5b376d5 Mon Sep 17 00:00:00 2001 From: Yun Date: Mon, 25 May 2026 22:59:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 3 +++ mongodbx.go | 11 +++++++++++ mongodbx_test.go | 1 + options.go | 23 +++++++++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 go.mod create mode 100644 mongodbx.go create mode 100644 mongodbx_test.go create mode 100644 options.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..1b0cf4d --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module code.yun.ink/pkg/mongodbx + +go 1.26.3 diff --git a/mongodbx.go b/mongodbx.go new file mode 100644 index 0000000..d199cab --- /dev/null +++ b/mongodbx.go @@ -0,0 +1,11 @@ +package mongodbx + +func NewMongodb(opts ...Option) { + options := defaultOptions() + for _, opt := range opts { + opt(options) + } + + // TODO: connect to mongodb + +} diff --git a/mongodbx_test.go b/mongodbx_test.go new file mode 100644 index 0000000..68d59d4 --- /dev/null +++ b/mongodbx_test.go @@ -0,0 +1 @@ +package mongodbx \ No newline at end of file diff --git a/options.go b/options.go new file mode 100644 index 0000000..7d26076 --- /dev/null +++ b/options.go @@ -0,0 +1,23 @@ +package mongodbx + +type mongodbOptions struct { + Host string +} + +func defaultOptions() *mongodbOptions { + return &mongodbOptions{ + Host: "localhost:27017", + } +} + + + + +type Option func(*mongodbOptions) + +func WithHost(host string) Option { + return func(o *mongodbOptions) { + o.Host = host + } +} +