我试图在数据库中的字段中获得不同的第一个单词:

db.mycollection.distinct(substr(0, city.indexOf(' ')),{"state":"FirstState"})

但这显然不起作用,但也许有助于了解我想做什么。
假设我有两份文件:
{
  "_id": "10280",
  "city": "FirstCity is great",
  "state": "FirstState",
  "pop": 2224
},
{
  "_id": "10282",
  "city": "SecondCity even greater",
  "state": "FirstState",
  "pop": 5574
}

我想得到:
["FirstCity","SecondCity"]

即,在数组中获得city字段的first word的不同值。
有办法吗?
致意

最佳答案

您可以使用map()方法返回列表,如下所示
Mongo外壳:

cities = db.mycollection.distinct("city", {"state" : "FirstState"}).map(function(city){
   return city.split(" ")[0];
});
printjson(cities);

样本输出
[ "FirstCity", "SecondCity" ]

关于mongodb - 在字符串中获取不同的第一个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40635833/

10-12 07:22