查询中的Azure mongodb $无法正常工作

时间:2018-04-09 22:43:31

标签: java mongodb azure grails azure-cosmosdb

我有140个文件的员工集合

{

    "name" : "name1",

    "dept" : "tech",

    "address" : "adr3"

}

在所有140份文件中,部门是技术人员 当我在 azure mongodb

中执行查询时
    MongoDatabase db = mongo.getDatabase("test")
    def query = new BasicDBObject(['dept':['$in':['tech']]])
    FindIterable documents = db.getCollection("employees").find(query)
    def outList =  documents.collect {it}

我只获得101个文件而不是140个记录

这在本地mongodb 中运行良好。直到上周,这对我来说是天蓝色的。 我在这里做错了吗?面对类似情况的人?

如果我将查询更改为

def query = new BasicDBObject(['dept':'tech'])

我得到所有140份文件

如果我将批量大小更改为10,则查询中的$仅返回10个文档。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我使用 commitNow()

对其进行了整理
$elemMatch

答案 1 :(得分:0)

XAL。根据这种情况下的共享:Cosmos Mongo API "In" Array expression issue,似乎是微软方面的问题。你可以等到错误修复。

回复如下:

  

感谢大卫举报此事!我调查了这个问题,这是一个问题   我们这边的错误表现在一系列条件下。一世   已经为它做了一个修复,并将在周末检查它   (然后由我们的部署周期将修复程序传播给所有人   世界各地的数据中心)。如果您有疑问,请告诉我   不工作,阻止你。此致Orestis

希望它对你有所帮助。