选择状态为“正在运行”或“已暂停”的集合项

时间:2017-01-20 12:31:55

标签: javascript mongodb

我需要创建一个包含所有容器(存储在InfosContainers集合中)的列表,状态为“running”或“paused”但我不知道如何发出请求。

我试过这个:

containersRngPsd = InfosContainers.find({stateContainer: "running" || stateContainer: "paused"});

但我有一个错误:

imports/ui/chart.js:43:87: Unexpected token, expected , (43:87)

所以我的要求是假的。有人可以帮我提出要求吗?

2 个答案:

答案 0 :(得分:1)

您需要使用Mongo的$or语法:

InfosContainers.find( { $or: [ { stateContainer: "running" }, { stateContainer: "paused" } ] } )

答案 1 :(得分:1)

出于可读性和性能原因,您可以使用$in代替$or

InfosContainers.find( { stateContainer: {$in: ["running", "paused" ] } )

在您的情况下可能无关紧要,但我想我想添加它,以防人们对更大的数据集执行查询。

当列未编入索引时,存在显着的性能差异。

MongoDB推荐使用超过$或。$的$。

https://docs.mongodb.com/manual/reference/operator/query/in/#op._S_in