微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 mongodb 集合中删除数字键

如何解决从 mongodb 集合中删除数字键

例如,我在集合中有以下文档。 我想从文档中删除带有数字键的数据。例如下面文档中的“0”。

我已经尝试了下面的代码

execute block
  returns (
    table_name varchar(63) character set unicode_fss,column_name varchar(63) character set unicode_fss,type varchar(10),length smallint,charset_name varchar(63) character set unicode_fss,collation_name varchar(63) character set unicode_fss,max_length smallint)
as
begin
    for select 
      trim(rrf.RDB$RELATION_NAME) as table_name,trim(rrf.RDB$FIELD_NAME) as column_name,case rf.RDB$FIELD_TYPE when 14 then 'CHAR' when 37 then 'VARCHAR' end as type,coalesce(rf.RDB$CHaraCTER_LENGTH,rf.RDB$FIELD_LENGTH / rcs.RDB$BYTES_PER_CHaraCTER) as length,trim(rcs.RDB$CHaraCTER_SET_NAME) as charset_name,trim(rc.RDB$COLLATION_NAME) as collation_name
    from RDB$RELATIONS rr 
    inner join RDB$RELATION_FIELDS rrf 
      on rrf.RDB$RELATION_NAME = rr.RDB$RELATION_NAME
    inner join RDB$FIELDS rf 
      on rf.RDB$FIELD_NAME = rrf.RDB$FIELD_SOURCE 
    inner join RDB$CHaraCTER_SETS rcs 
      on rcs.RDB$CHaraCTER_SET_ID = rf.RDB$CHaraCTER_SET_ID
    left join RDB$COLLATIONS rc 
      on rc.RDB$CHaraCTER_SET_ID = rf.RDB$CHaraCTER_SET_ID 
      and rc.RDB$COLLATION_ID = rf.RDB$COLLATION_ID 
      and rc.RDB$COLLATION_NAME <> rcs.RDB$DEFAULT_COLLATE_NAME 
    where coalesce(rr.RDB$RELATION_TYPE,0) = 0 and coalesce(rr.RDB$SYstem_FLAG,0) = 0
    and rf.RDB$FIELD_TYPE in (14 /* char */,37 /* varchar */)
    into table_name,column_name,type,length,charset_name,collation_name
    do
    begin
        execute statement 'select max(character_length("' || replace(column_name,'"','""') || '")) from "' || replace(table_name,'""') || '"'
          into max_length;
        suspend;
    end
end

文档

$manager = Core_BP_BaseTableMongo::connection();
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update($wh,['$unset' => array("0" => true)]);
$result = $manager->executeBulkWrite(Core_BP_BaseTableMongo::getDatabaseName().'.'.$collection_name,$bulk);

我也试过 $unset 但它给了我一个错误 修饰符对字段进行操作,但我们找到了类型数组。例如:{$mod: {: ...}} 不是 {$unset: [ true ]}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。