$position - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$position

Der $position Modifikator in Amazon DocumentDB gibt die Position im Array an, an der der $push Operator Elemente einfügt. Ohne den $position Modifikator fügt der $push Operator Elemente am Ende des Arrays ein.

Parameter

  • field: Das zu aktualisierende Array-Feld.

  • num: Die Position im Array, an der Elemente eingefügt werden sollen, basierend auf einer Nullindizierung.

Hinweis: Um den $position Modifikator verwenden zu können, muss er zusammen mit dem Modifikator erscheinen. $each

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $position Operator verwendet wird, um Aufgaben an bestimmten Positionen in einem Projektmanagementsystem einzufügen.

Erstellen Sie Beispieldokumente

db.projects.insertOne({ "_id": 1, "name": "Website Redesign", "tasks": ["Design mockups"] })

Abfragebeispiel 1 — Fügen Sie am Anfang dringende Aufgaben hinzu

db.projects.updateOne( { _id: 1 }, { $push: { tasks: { $each: ["Security audit", "Performance review"], $position: 0 } } } )

Ausgang 1

{ "_id": 1, "name": "Website Redesign", "tasks": ["Security audit", "Performance review", "Design mockups"] }

Abfragebeispiel 2 — Aufgaben an einer bestimmten Position hinzufügen

db.projects.insertOne({ "_id": 2, "name": "Mobile App", "tasks": ["Setup project", "Create wireframes", "Deploy to store"] }) db.projects.updateOne( { _id: 2 }, { $push: { tasks: { $each: ["Code review", "Testing phase"], $position: 2 } } } )

Ausgabe 2

{ "_id": 2, "name": "Mobile App", "tasks": ["Setup project", "Create wireframes", "Code review", "Testing phase", "Deploy to store"] }

Codebeispiele

Um ein Codebeispiel für die Verwendung des $position Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

Node.js
const { MongoClient } = require('mongodb'); async function insertTasksAtPosition() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('projects'); await collection.updateOne( { _id: 1 }, { $push: { tasks: { $each: ["Security audit", "Performance review"], $position: 0 } } } ); const updatedProject = await collection.findOne({ _id: 1 }); console.log(updatedProject); await client.close(); } insertTasksAtPosition();
Python
from pymongo import MongoClient def insert_tasks_at_position(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['projects'] result = collection.update_one( {'_id': 1}, { '$push': { 'tasks': { '$each': ['Security audit', 'Performance review'], '$position': 0 } } } ) updated_project = collection.find_one({'_id': 1}) print(updated_project) client.close() insert_tasks_at_position()