<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://kniebes.com/assets/xsl/rss.xsl" type="text/xsl" media="screen"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:media="http://search.yahoo.com/mrss/"
>

    <channel>
        <title>M. Kniebes. · MongoDB</title>
        <atom:link href="https://kniebes.com/tag/mongodb.xml" rel="self" type="application/rss+xml" />
        <link>https://kniebes.com</link>
        <description>Beiträge zum Tag MongoDB</description>
        <lastBuildDate>Fri, 28 Mar 2025 18:02:03 +0100</lastBuildDate>
        <language>de-DE</language>
        <sy:updatePeriod>hourly</sy:updatePeriod>
        <sy:updateFrequency>1</sy:updateFrequency>
        <generator>IO</generator>
        <atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
        <atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
        <atom:link rel="hub" href="https://websubhub.com/hub"/>

                
            
            <item>
                <title><![CDATA[MongoDb und DDEV]]></title>                
                <link>https://kniebes.com/2025/03/28/mongodb-und-ddev.html</link>
                <dc:creator><![CDATA[Markus Kniebes]]></dc:creator>
                <pubDate>Fri, 28 Mar 2025 18:02:03 +0100</pubDate>
                <guid isPermaLink="true">https://knieb.es/5020</guid>
                <description><![CDATA[<p>Du hast ein prähistorisch Projekt mit PHP 7.3 und es wird hirnrissigerweise MongoDB in einer ebenso alten Version benutzt? Und das Ganze soll nicht geupdated werden aber unter DDEV laufen?</p>

<p>Nichts einfacher als das:</p>

<p>.ddev/config.yaml</p>

<pre><code class="language-yaml">[...]
webimage_extra_packages: [php7.3-mongodb]
[...]
</code></pre>

<hr />

<p>Und nun möchtest Du einen MongoDB Dump einspielen, den Du zuvor mit <code>mongodump</code> erstellt hast? Fast genauso einfach. Im web Container gibt es natürlich keine <a href="https://www.mongodb.com/docs/database-tools/">mongodb-tools</a>. Aber im mongo Container gibt es die natürlich. Also ein kleiner Umweg:</p>

<p>Das Verzeichnis mit dem Dump (bspw. <code>~/Sites/data</code>) in den Mongo Container mounten:</p>

<p>.ddev/docker-compose.mountdata.yaml</p>

<pre><code class="language-yaml">services:
  mongo:
    volumes:
    - type: "bind"
      source: "~/Sites/data"
      target: "/data"
</code></pre>

<p><code>/data</code> ist der Pfad des gemounteten Verzeichnis im Container.</p>

<hr />

<p>DDEV neu starten und mit SSH auf dem Mongo Container einloggen:</p>

<pre><code class="language-sh">$ ddev restart 
$ ddev ssh --service=mongo
</code></pre>

<hr />

<p>Die DB im Container importieren.</p>

<pre><code class="language-bash">$ cd data
$ ls -l
drwxr-xr-x 1 root    root          320 Mar 28 15:26 dump
$ mongorestore -u db -p db  --db db --authenticationDatabase admin -d db dump 
</code></pre>

<hr />

<p>DSN in der <code>.env</code> etwa so:</p>

<p>.env.local</p>

<pre><code class="language-ini">[..]
MONGODB_URL=mongodb://db:db@mongo:27017
MONGODB_DB=db
[..]
</code></pre>
<hr>
<p><a href="mailto:m@kniebes.io?subject=MongoDb und DDEV (knieb.es/5020)">Per E-Mail antworten</a><br>
<a href="https://kniebes.com/frag-mich.html">Du hast Fragen an mich oder ein Thema für die FAQ?</a></p>]]></description>

                            
                    <category><![CDATA[DDEV]]></category>
                
                    <category><![CDATA[MongoDB]]></category>
                                
            </item>

                            
        
    </channel>
</rss>
