MongoDB数据库条件查询
下面的示例就是说明如何执行一个类似SQL的查询,
是在MongoDB shell里查询,
>
db.things.find({name:"mongo"}).forEach(printjson);
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a
SELECT * FROM things WHERE x=4
> db.things.find({x:4}).forEach(printjson);
{ "_id" : ObjectId("4c220a42f3924d31102bd856
{ "_id" : ObjectId("4c220a42f3924d31102bd857
{ "_id" : ObjectId("4c220a42f3924d31102bd858
{ "_id" : ObjectId("4c220a42f3924d31102bd859
{ "_id" : ObjectId("4c220a42f3924d31102bd85a
查询条件是
上面显示的是所有的元素,
只需要在
SELECT j FROM things WHERE x=4
> db.things.find({x:4},
{j:true}).forEach(printjson);
{ "_id" : ObjectId("4c220a42f3924d31102bd856
{ "_id" : ObjectId("4c220a42f3924d31102bd857
{ "_id" : ObjectId("4c220a42f3924d31102bd858
{ "_id" : ObjectId("4c220a42f3924d31102bd859
{ "_id" : ObjectId("4c220a42f3924d31102bd85a
findOne()语法
为了方便考虑,
数和
作为一个例子,
做数组返回第一个元素.
但是用
>
printjson(db.things.findOne({name:"mongo"}));
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a
4.6.4 通过limit 限制结果集数量
如果需要限制结果集的长度,
这是强烈推荐解决性能问题的方法,
> db.things.find().limit(3);
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a
{ "_id" : ObjectId("4c2209fef3924d31102bd84b
{ "_id" : ObjectId("4c220a42f3924d31102bd856
修改记录
将name是mongo的记录的name修改为mongo_new
>
db.things.update({name:"mongo"},{$set:{name:"mongo_new"}});
我们来查询一下是否改过来了
> db.things.find();
{ "_id" : ObjectId("4faa9e7dedd27e6d86d86371
{ "_id" : ObjectId("4faa9e7bedd27e6d86d86370
删除记录
将用户name是mongo_new的记录从集合things中删除
> db.things.remove({name:"mongo_new"});
> db.things.find();
{ "_id" : ObjectId("4faa9e7dedd27e6d86d86371
经验证,该记录确实被删除了