-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docsp-32718 - add comments #770
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -7,9 +7,12 @@ const client = new MongoClient(uri); | |||||
|
||||||
async function printData() { | ||||||
try { | ||||||
|
||||||
// Get the database and collection on which to run the operation | ||||||
const myDB = client.db("test"); | ||||||
const myColl = myDB.collection("testColl"); | ||||||
|
||||||
// Print all documents | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
} finally { | ||||||
await client.close(); | ||||||
|
@@ -18,18 +21,28 @@ async function printData() { | |||||
|
||||||
async function runFirstArrayElement() { | ||||||
try { | ||||||
|
||||||
// Get the database and collection on which to run the operation | ||||||
const myDB = client.db("test"); | ||||||
const myColl = myDB.collection("testColl"); | ||||||
|
||||||
// Print the result | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
|
||||||
// start firstArrayElement example | ||||||
// Query for all elements in entries array where x is a string | ||||||
mongoKart marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
const query = { "entries.x": { $type : "string" } }; | ||||||
|
||||||
// For each matched element, increase value of y by 33 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I: I think this example only updates the first matching array element
Suggested change
|
||||||
const updateDocument = { | ||||||
$inc: { "entries.$.y": 33 } | ||||||
}; | ||||||
|
||||||
// Execute the update operation | ||||||
const result = await myColl.updateOne(query, updateDocument); | ||||||
// end firstArrayElement example | ||||||
|
||||||
// Print the result | ||||||
mongoKart marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
console.log(result.modifiedCount); | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
} finally { | ||||||
|
@@ -39,19 +52,30 @@ async function runFirstArrayElement() { | |||||
|
||||||
async function runAllArrayElements() { | ||||||
try { | ||||||
|
||||||
// Get the database and collection on which to run the operation | ||||||
const myDB = client.db("test"); | ||||||
const myColl = myDB.collection("testColl"); | ||||||
|
||||||
// Print all documents | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
|
||||||
// start allArrayElement example | ||||||
// Query for all documents where date is May 15, 2023 | ||||||
mongoKart marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
const query = { date: "5/15/2023" }; | ||||||
|
||||||
// For each matched document, remove duration field from calls array | ||||||
mongoKart marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
const updateDocument = { | ||||||
$unset: { "calls.$[].duration": "" } | ||||||
}; | ||||||
|
||||||
// Execute the update operation | ||||||
const result = await myColl.updateOne(query, updateDocument); | ||||||
// end allArrayElement example | ||||||
|
||||||
console.log(result.modifiedCount); | ||||||
|
||||||
// Print all documents | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
} finally { | ||||||
await client.close(); | ||||||
|
@@ -60,16 +84,24 @@ async function runAllArrayElements() { | |||||
|
||||||
async function arrayFiltersIdentifier() { | ||||||
try { | ||||||
|
||||||
// Get the database and collection on which to run the operation | ||||||
const myDB = client.db("test"); | ||||||
const myColl = myDB.collection("testColl"); | ||||||
|
||||||
// Print all documents | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
|
||||||
// start arrayFiltersIdentifier example | ||||||
// Query for all documents where date is November 12, 2023 | ||||||
mongoKart marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
const query = { date: "11/12/2023" }; | ||||||
|
||||||
// For each matched document, change the quantity of items to 2 | ||||||
const updateDocument = { | ||||||
$mul: { "items.$[i].quantity": 2 } | ||||||
}; | ||||||
|
||||||
// Update only non-oil items used for fried rice | ||||||
const options = { | ||||||
arrayFilters: [ | ||||||
{ | ||||||
|
@@ -78,10 +110,13 @@ async function arrayFiltersIdentifier() { | |||||
} | ||||||
] | ||||||
}; | ||||||
|
||||||
// Execute the update operation | ||||||
const result = await myColl.updateOne(query, updateDocument, options); | ||||||
// end arrayFiltersIdentifier example | ||||||
console.log(result.modifiedCount); | ||||||
|
||||||
// Print all documents | ||||||
console.log(JSON.stringify(await myColl.find().toArray())); | ||||||
} finally { | ||||||
await client.close(); | ||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,26 +7,30 @@ const client = new MongoClient(uri); | |
|
||
async function run() { | ||
try { | ||
Comment on lines
8
to
9
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Q: for the Usage examples that have JS and TS versions, should we update both? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Caitlin confirmed JS only |
||
|
||
// Get the database and collection on which to run the operation | ||
const database = client.db("sample_mflix"); | ||
const movies = database.collection("movies"); | ||
|
||
// query for movies that have a runtime less than 15 minutes | ||
// Query for movies that have a runtime less than 15 minutes | ||
const query = { runtime: { $lt: 15 } }; | ||
|
||
const options = { | ||
// sort returned documents in ascending order by title (A->Z) | ||
// Sort returned documents in ascending order by title (A->Z) | ||
sort: { title: 1 }, | ||
// Include only the `title` and `imdb` fields in each returned document | ||
projection: { _id: 0, title: 1, imdb: 1 }, | ||
}; | ||
|
||
// Execute query | ||
const cursor = movies.find(query, options); | ||
|
||
// print a message if no documents were found | ||
// Print a message if no documents were found | ||
if ((await movies.countDocuments(query)) === 0) { | ||
console.log("No documents found!"); | ||
} | ||
|
||
// Print returned documents | ||
for await (const doc of cursor) { | ||
console.dir(doc); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q: I thought we were supposed to add code comments for the import statement and client creation as well -- Up to you if you want to add to the files throughout this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw those in the chat gpt example, but thought they were more like "this is a stop sign" than anything substantial.