2015-11-27 7 views

Antwort

8

Sie JavaScript-Code von einer Javascript-Datei injizieren:

mongo 127.0.0.1/MyDatabase script.js 

mit script.js:

var document = { 
    name : "document_name", 
    title : "document_title" 
}; 

db.MyCollection.insert(document); 

oder direkt:

mongo 127.0.0.1/MyDatabase --eval 'var document = {name : "document_name",title : "document_title",};db.MyCollection.insert(document);' 
0

Wenn Sie nicht wollen, Serve Skript aus einer Datei (Ich versuche, externe Dateien nicht so viel wie möglich zu erhalten) oder nicht verwenden --eval op tion, die nur schwer zu lesen, wenn Sie viele Einträge haben Sie eine bashheredoc

verwenden können, können Sie im Terminal eingeben:

-bash-4.1$ mongo mongodb://myServerAddress/myDbName <<EOF 
> db.myCollectionName.insert({ 
> name: "doc name", 
> title: "doc title" 
> }) 
> EOF 

Ergebnis:

MongoDB shell version v3.4.1 
connecting to: mongodb://myServerAddress/myDbName 
MongoDB server version: 3.0.7 
WARNING: shell and server versions do not match 
WriteResult({ "nInserted" : 1 }) 
bye 
-bash-4.1$ 

Wenn Sie behalten möchten Entfernen Sie in einem Skript einfach >, was tatsächlich zur Eingabe eines mehrzeiligen Befehls auffordert.

Für in-Skript verwenden, sollte es wie unten sein:

#!/usr/bin/env bash 

mongo mongodb://myServerAddress/myDbName <<EOF 
db.myCollectionName.insert({ 
    name: "doc name", 
    title: "doc title" 
}) 
EOF 
Verwandte Themen