Mongodb:删除指定数目的行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb:删除指定数目的行相关的知识,希望对你有一定的参考价值。

db.foo.find().limit(5).drop();//如何实现这句伪代码?
如何使用Mongodb命令行来删除指定“行数”的文档?

我已经搞定,解决如下,分享之:

> db.foo.remove( _id: $lt :
db.foo.find().skip(5).limit(1)[0]._id

)//删除 小于某id的所有数据

依据:_id是可以比较大小

参考技术A var query = db.foo.find().limit(5);
query.remove();
....追问

我是在命令行执行的:
> db.foo.find().limit(200).remove();
Fri Mar 14 16:56:37.542 TypeError: Object DBQuery: test.foo -> has no method 'remove'

你写的是node.js语句吧?

有直接用命令操作的方式吗?

追答

嗯 是node.js

一样啊 你也可以写语句块啊
>var query = db.foo.find().limit(5);

...query.remove();

追问

谢谢你。我是想学习Mongodb的命令行操作。

追答

那你试试这个>db.users.findAndModify(query: limit:5, remove: true);

mongodb如何删除集合中的指定键值对???

其实没必要删除,冗余的字段对于MongoDB的性能没有任何影响。
如果非要删除某个字段,先将这个数据整个读出来,然后修改好在更新进去。

以java的驱动为例:

DBObject dbo = db.getCollection("test").findOne(query);//query为查询条件,查询出待修改的数据
dbo.removeField("filed1"); //把待删除的字段删除掉,如field1这个键值对
b.getCollection("test").update(query, dbo); //更新
参考技术A mongodb删除集合中指定的键值对用drop方法:
drop() 方法
MongoDB 的 db.collection.drop() 是用来从数据库中删除一个集合。
语法:
drop() 命令的基本语法如下
db.COLLECTION_NAME.drop()

示例:
首先,检查可用的集合在数据库 mydb
>use mydb
switched to db mydb
>show collections
mycol
mycollection
system.indexes
yiibai
>

现在删除集合名称为 mycollection
>db.mycollection.drop()
true
>

再次检查到数据库中的集合列表
>show collections
mycol
system.indexes
yiibai
>

drop() 方法将返回 true,如果选择成功收集被丢弃,否则将返回 false

以上是关于Mongodb:删除指定数目的行的主要内容,如果未能解决你的问题,请参考以下文章

mongodb系列~mongodb定时删除数据

mongodb如何删除集合中的指定键值对???

[Mongodb]删除指定字段

mongodb aggregate

如何从命令行删除 MongoDB 集合?

如何从命令行删除 MongoDB 数据库?