我有一个主要包含字符串的mongo数据库,尽管某些字段确实需要是数组。由于我只能在Mongo集合中索引一个数组,因此将字符串数组存储为逗号分隔的字符串,然后在我的API中进行转换,还是将它们保留为字符串会更好吗?如果说得通?
例如,如果我有一个看起来像这样的气球集合:
C:\Programs\myApplication\app.exe
一个垃圾示例,但是,我的想法是,最好将BalloonColours作为字符串存储在db中,并在API中的字符串和数组之间进行转换,这样我就可以对该字段以及我的BalloonPurchases字段进行索引,但是我对Mongo不太了解,想知道这是否会引起问题,或者被认为是不良做法。我的集合很大,因此将字符串转换为数组,反之亦然,比起检查未索引字段等,搜索会更长吗?
我希望不要太不清楚。
欢呼
答案 0 :(得分:1)
MongoDB支持以下内容:
仅提及的限制是,如果要创建复合索引,则不能有两个字段都使它们都具有数组值。
请参考以下链接: https://docs.mongodb.com/manual/core/index-multikey/
确切的问题是更好的做法,如果您在文档中需要一个数组,则将其作为数组存储在MongoDB中是有道理的,避免了代码中不必要的转换。 MongoDB支持数组,因此可以使用它。