0

我可以在 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)

你的建议?

4

3 回答 3

1

这里有一个 SQL-MongoDB 映射图表,您会发现它很有用。

当您想要执行与 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})
于 2012-10-12T14:11:09.060 回答
0

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

db.test.find({$and : [{a:1},{a:1}, {a:1}]});
于 2012-10-12T12:27:56.863 回答
0

如果'您正在尝试构建查询子句,则 AND 在 Mongo 中是隐含的。因此,如果您有以下情况;

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

您可以添加另一个;

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

等等。

于 2012-10-12T12:29:44.130 回答