最初我想在我的模型中映射MongoDB的_id
。例如:
case class User(_id: Option[BSONObjectID], ...)
然而,这导致了很多问题,因为我在插入用户文档后必须设置_id
。因此,我使用Java的UUID
类替换了此属性。这意味着我的模型中只有id
,数据库中只有_id
和id
。我现在开始在我的所有模型中使用它,因为我认为在我的模型中存储与数据库相关的信息是一种不好的做法(如果我切换到SQL数据库会怎么样?)。我可以将UUID
作为_id
的有效替代品用于我的所有文件吗?
答案 0 :(得分:-1)
从设计的角度讨论:即使你有一天移动到(MS / My)SQL,你也会有diff --git a/contrib/src/lua/rules.mak b/contrib/src/lua/rules.mak
index 037d680..53eb59e 100644
--- a/contrib/src/lua/rules.mak
+++ b/contrib/src/lua/rules.mak
@@ -85,7 +85,9 @@ ifdef HAVE_WIN32
cd $< && $(RANLIB) "$(PREFIX)/lib/liblua.a"
endif
ifdef HAVE_CROSS_COMPILE
+ cd $</src && mv Makefile Makefile.new && mv Makefile.orig Makefile
cd $</src && $(MAKE) clean && $(MAKE) liblua.a && ranlib liblua.a && $(MAKE) luac
cp $</src/luac $(PREFIX)/bin
+ cd $</src && mv Makefile Makefile.orig && mv Makefile.new Makefile
endif
touch $@
diff --git a/contrib/src/vncclient/rules.mak b/contrib/src/vncclient/rules.mak
index 1915f5c..a4e23b3 100644
--- a/contrib/src/vncclient/rules.mak
+++ b/contrib/src/vncclient/rules.mak
@@ -31,7 +31,7 @@ DEPS_vncclient = gcrypt $(DEPS_gcrypt) jpeg $(DEPS_jpeg) png $(DEPS_png) gnutls
.vncclient: vncclient
$(RECONF)
- cd $< && $(HOSTVARS) ./configure $(HOSTCONF) --without-libva
+ cd $< && $(HOSTVARS) ac_cv_path_AR="$(AR)" ./configure $(HOSTCONF) --without-libva
cd $< && $(MAKE) -C libvncclient install
cd $< && $(MAKE) install-data
touch $@
diff --git a/share/Makefile.am b/share/Makefile.am
index 3ed638a..de5188c 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -4,8 +4,10 @@ EXTRA_DIST =
appdatadir = $(datadir)/applications
if !HAVE_WIN32
+if !HAVE_ANDROID
appdata_DATA = vlc.desktop
endif
+endif
EXTRA_DIST += vlc.desktop.in vlc.desktop.mimetypes
CLEANFILES += $(appdata_DATA)
类似于你的表的密钥,这与mongodb的primary key autoincrement
相同采集。那么_id
真的是一个与数据库相关的信息吗?