小编Sou*_*onk的帖子

当传递_id作为查询参数时,PyMongo find_one()不返回任何内容

我的Mongo数据库中只有一个文档:

{"_id" : ObjectId("569bbe3a65193cde93ce7092"), 
 "categories" : [{_id: 0, "category": "Groceries"},
                 {_id: 1, "category": "Bills"}, . . .]}
Run Code Online (Sandbox Code Playgroud)

在我的项目中使用PyMongo,我得到以下结果find_one()

x = db.collection.find_one({"_id": "ObjectId(\"569bbe3a65193cde93ce7092\")"})
print(x)
// None
Run Code Online (Sandbox Code Playgroud)

每当我在Mongo Shell中执行相同的查询时,它都会返回我的文档。我一生无法弄清为什么这行不通。使用find({})返回文档,所以我知道PyMongo可以看到它。

我可以调用find_one({"categories": {"$exists": True}})来检索文档,并且由于这将是唯一包含“类别”的文档,因此可以使用;但是,现在我对为什么访问文档_id给我带来麻烦感到困惑。逃避引号和引号包装569bbe3a65193cde93ce7092都没有任何区别。

mongodb pymongo mongodb-query

2
推荐指数
1
解决办法
1万
查看次数

在 Groovy JSR223 Sampler 中访问计数器变量时不递增

我有一个简单的循环控制器,其中有一个 Counter 配置元素和一个运行 Groovy 代码的 JSR223 Sampler。我的计数器设置为从 0 开始,递增 1,最多为 3,并设置为名为“idx”的变量。

在我的 JSR223 Sampler 中,我使用以下方式记录 idx 的值log.info(${idx});:对于每次循环迭代,它总是打印第一个迭代值(在我的例子中为 0)。

我禁用了这个 JSR223 采样器并添加了一个 BeanShell 采样器,执行相同的日志语句,log.info(${idx});并且它正确递增 - 我得到了迭代的值 0、1、2。

我需要获取一些 JSON,将它们映射到对象,进行一些调整,然后将它们映射回 JSON。JSONParser、JSONObject 和 JSONArray 类似乎可以在 BeanShell Sampler 中使用,但我对 Groovy 的 JsonSlurper 和 JsonBuilder 类更满意,并且更喜欢使用它们。

所有这些步骤都在测试片段中(如果有影响的话)。有人有主意吗?这是一个错误吗?

groovy jmeter jsr223

1
推荐指数
1
解决办法
2959
查看次数

标签 统计

groovy ×1

jmeter ×1

jsr223 ×1

mongodb ×1

mongodb-query ×1

pymongo ×1