有没有一种方法可以将字符串列表动态发送到MongoDB的$in子句?

我尝试了类似下面的代码的方法,但是它不起作用,除了具有硬编码值的示例之外,我无法找到更多信息。

restrictedUsers变量可以填充任意数量的用户,因此我无法对此进行硬编码。

例:

var restrictedUsers = "bob, joe, jimmy, roger, greg";
userNames = {"usernames": { $in: [restrictedUsers]}};
collection.find(userNames);

最佳答案

使用数组有什么问题:

var restrictedUsers = [ "bob", "joe", "jimmy", "roger", "greg"];

userNames = {"usernames": { $in: restrictedUsers }};

collection.find(userNames);


即使您出于某种原因用逗号分隔了一个字符串,将其拆分成一个数组也是相当琐碎的:

var userList = "bob, joe, jimmy, roger, greg";
var restrictedUsers = userList.split(',')

关于javascript - MongoDB动态$ in,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22240356/

10-12 03:22