为了账号安全,请及时绑定邮箱和手机立即绑定

关于mongodb数据field指定问题

关于mongodb数据field指定问题

慕的地10843 2019-08-03 03:03:54
在mongdb中搜索条件设定后对应的经过处理的field如何选择,比如某一项为数组,我想要获得此项数组的长度,获得某项数组是否包含特定内容等,js示例如何比如现在数据库中有数据 {_id:'abcd', list:[1,2,3,4,5], seq[a,b,c,d,e]}对应数据符合我的查找条件,但是在返回结果中我想要list字段的长度,以及seq是否包含'b',有点类似 count(list) as list_count, is_in(seq) as inseq, 如何指定此类field,而不是简单的获取各个字段的查询结果?
查看完整描述

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

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





查看完整回答
反对 回复 2019-08-05
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

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

以java的驱动为例:

DBObject dbo = db.getCollection("test").findOne(query);//query为查询条件,查询出待修改的数据
dbo.removeField("filed1"); //把待删除的字段删除掉,如field1这个键值对
b.getCollection("test").update(query, dbo); //更新


 





查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 561 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信