Skip to main content

Review old stuff: mongoDB

blockquote


Recently, I revisited old skills, extending to MongoDB. After reinstalling MongoDB, I felt that the website architecture had significantly changed compared to what I saw the last time I created a sample. My old sample project was a record of main characters from the Japanese anime "Demon Slayer." In just four years, from March 2020 to now, there has been a significant change in the website structure, indicating considerable improvements in MongoDB's functionality.


Resource

Some content has been spread out, but I find this arrangement clearer. Below are the resources I briefly looked up:

community version: https://www.mongodb.com/try/download/community-edition

MongoDB shell: https://www.mongodb.com/try/download/shell

Database tools: https://www.mongodb.com/try/download/bi-connector  ( dump, restore, import, export) 

NodeJS reference (developer): https://www.mongodb.com/docs/drivers/node/current/quick-reference/

mongosh manual: https://www.mongodb.com/docs/manual/reference/method/


mongoimport

mongoimport -d dest-db --jsonArray datafile.json

mongosh

Interesting topics covered during the review include:  
Count record:
db.collection.count()
Select some fields and remove _id:
db.collection.find({}, { field_name1: 1,  field_name2: 1,  _id:0 } ) 
Select and/or: (operator)
db.collection.find({field_name1:value1, { $or: [ { field_name2: { $lt: 20 } }, { field_name2: value2 } ] })
Use cursor:
var cursor1 = db.collection.find()
cursor1.next()
cursor1.close()

ExpressJS (NodeJs/JavaScript) 

Doc: 
mozilla: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs
npm install express
npm install express-generator -g
express project_name --view=jade
cd peoject_name
npm install
SET DEBUG=express-locallibrary-tutorial:* & npm start

# --view=dust|ejs|hbs|hjs|jade|pug|twig|vash 
# npm WARN deprecated mkdirp@0.5.1: ... https://stackoverflow.com/questions/62859986/error-when-install-express-generator-using-npm

mongoose

Docs: 
mongoose: https://mongoosejs.com/docs/index.html
npm: https://www.npmjs.com/package/mongoose

Install:

npm install mongoose --save 

In VS code, the following will be created: 

package.json 
package_lock.json
node_modules


Comments

Popular posts from this blog

Bookmark service (MongoDB & Spring REST) -2/2

    I accidentally deleted my development VM. I got lucky having the habit of taking notes. This blog is useful. Development VM is doom to be lost. Rebuild it waste time, but having a clean slate is refreshing~. What concerns me more is my AWS free quota this month is reaching 85%. The second VM I launched but never being used might be the one to blame. (Of course, my mistake.) I terminated the wrong VM. Now I got Linux 2 built. Great, just threw away everything happened on AMI.  1st layer: Page Page class   Originally, I need to prepare getter/setter for all class properties for Spring. By using lombok, I only need to create constructors. lombok will deal with getter/setter and toString(). But there are chances to call getter/setter, but how? .......Naming convention.... Capitalize the 1st character with the prefix get/set.  Annotation @Data was used on this class.  Repository class Spring Docs: Repository https://docs.spring.io/spring-data/mongodb/docs/3....

Guide to Preserving HuggingFace Models in Google Colab Environments

Conclusion:  Step 1:  find the model path: ls ~/.cache  Step 2:  Copy the entire folder to Google Drive:  Step 3:  Set model path to the subfolder under snapshot: My Story: I initially began exploring Generative AI (GAI) and Google Colab through Stable Diffusion. In the past, as I mainly wrote server services and console applications, I was less familiar with data science modes like R and Jupyter that can maintain a paused state. I didn't quite understand the heavy burden on Colab of creating a temporary Stable Diffusion WebUI with .ipynb, as suggested by popular guides. I just found it troublesome that connections often took a long time and then dropped, requiring a restart. Recently, while testing new versions of the Stable Diffusion model, and facing challenges due to Colab's policies making various versions of WebUI difficult to run successfully, I started researching how to write my own test programs in Colab. Eventually, I understood that Colab is ess...

docker: storage and services

Docker Volume Without going through Docker, accessing files within a Docker image is not easy. Therefore, Docker has a volume feature that allows users to specify the location on the host file system to serve as the access directory for Docker. In other words, a volume is the NFS of a Docker image. Example: Using a volume to store SQLite files. ref:  SQLite for NodeJS: https://www.sqlitetutorial.net/sqlite-nodejs/ Initialize the project. # Setup ExpressJS framework express --view=pug 240324_ejs_sqlite_docker npm init npm install express npm install sqlite3 Test: npm start Initialize docker  Since the directory already contains NodeJS, the Docker Daemon will assist in the setup. Create new docker image docker build -t atfuture7/sqlite01 . Create a folder for Docker, create a container, run it.  mkdir docker_vol docker run -p 3000:3000 -v ./docker_vol:/data --name exp_sqlite atfuture7/sqlite01 After confirming that the container can run co...