如何在MongoDB中重复MySQL的WHERE 1查询?

时间:2012-10-12 12:18:01

标签: mysql mongodb express mongoose

我可以在MySQL中执行此操作:

WHERE 1 AND 1 AND 1

我如何在MongoDB中重复它?什么是MongoDB相当于WHERE 1?

更新

因此。我不知道如何选择最佳答案^^和扩大的问题。正如@ mark-hillick注意到的那样 - 我正在寻找构建查询的最佳方法。 现在我正在使用这种方式(快递+猫鼬):

//req.query - get/post object in Express

for (var q in req.query) {
  if (req.query[q]) { //simplified example
    query[q] = req.query[q];
  };
}

Collection.find(query)

您的建议?

3 个答案:

答案 0 :(得分:1)

您会发现有用的SQL-MongoDB映射表here

当你想在MySQL中执行与“WHERE”相同的操作时,它有很多关于你在MongoDB中做什么的例子。例如 -

SELECT a,b FROM users WHERE age=33

db.users.find({age:33}, {a:1,b:1})

SELECT * FROM users WHERE a=1 and b=1

db.users.find({a:1,b:1})

答案 1 :(得分:0)

MongoDB是面向文档的数据库,MongoDB中的文档包含键值对。因此,在MongoDB中,您无法像在MySql中那样运行单值查询。假设您在字段名称a中保存数据,MongoDB中的类似查询可能如下:

db.test.find({$and : [{a:1},{a:1}, {a:1}]});

答案 2 :(得分:0)

如果'你正在尝试构建查询子句,则在Mongo中隐含了AND。因此,如果您有以下内容;

db.col.find({name:"dave"})

你可以添加另一个;

db.col.find({name:"dave", age:33})

等等。