0

我现在在存储一些数据到MongoDB时遇到一个问题。简单来说,它的结构如下图所示:

FEATURES             Location/Qualifiers
     source          1..4242774
                     /organism="Bacillus amyloliquefaciens subsp. plantarum YAU
                     B9601-Y2"
                     /mol_type="genomic DNA"
                     /strain="YAU B9601-Y2"
                     /sub_species="plantarum"
                     /db_xref="taxon:1155777"
     gene            412..1752
                     /gene="dnaA"
                     /locus_tag="BANAU_0001"
     CDS             412..1752
                     /gene="dnaA"
                     /locus_tag="BANAU_0001"
                     /function="ATPase involved in DNA replication initiation"
                     /codon_start=1
                     /transl_table=11
                     /product="Chromosomal replication initiator protein dnaA"
                     /protein_id="CCG48023.1"
                     /db_xref="GI:380496985"
                     /db_xref="GOA:H8XCH4"
                     /db_xref="UniProtKB/TrEMBL:H8XCH4"
                     /translation="MENILDLWNQALAQIEKKLSKPSFETWMKSTKAHSLQGDTLTIT
                     APNEFARDWLESRYLHLIADTIYELTGEELSVKFVIPQNQDEEDFLPKPQVKKAAKEE
                     PSDFPQSMLNPKYTFDTFVIGSGNRFAHAASLAVAEAPAKAYNPLFIYGGVGLGKTHL
                     MHAIGHYVIDHNPSAKVVYLSSEKFTNEFINSIRDNKAVDFRNRYRNVDVLLIDDIQF
                     LAGKEQTQEEFFHTFNTLHEESKQIVISSDRPPKEIPTLEDRLRSRFEWGLITDITPP
                     DLETRIAILRKKAKAEGLDIPNEVMLYIANQIDSNIRELEGALIRVVAYSSLINKDIN
                     ADLAAEALKDIIPSSKPKVITIKEIQRIVGQQFNIKLEDFKAKKRTKSVAFPRQIAMY
                     LSREMTDSSLPKIGEEFGGRDHTTVIHAHEKISKLLIDDEQLQQQVKEIKELLK"
     gene            1937..3073
                     /gene="dnaN"
                     /locus_tag="BANAU_0002"
     CDS             1937..3073
                     /gene="dnaN"

从我的插图中,您可以看到键“基因”和“CDS”将重复多次,从 MongoDB 中,我知道文档中的重复键是被禁止的。所以,我的问题是,我应该如何组织MongoDB中的数据结构?

4

1 回答 1

0

您可以将子文档数组用于重复元素,而不是在文档中的同一级别建模重复字段,genes例如:

{
    source: "1..4242774",
    organism: "Bacillus amyloliquefaciens subsp. plantarum YAUB9601-Y2",
    mol_type: "genomic DNA",
    strain: "YAU B9601-Y2",
    sub_species: "plantarum",
    db_xref: "taxon:1155777",
    genes: [
        {
            id: '412..1752',
            gene: "dnaA",
        },
        {
            id: '1937..3073',
            gene: "dnaN",
        }
    ],
    CDS: [
        {
            id: '412..1752',
        }
    ]
}

有关更多信息,请参阅MongoDB 手册中的子文档数组。

于 2013-09-10T05:42:23.287 回答