Skip to main content

MongoDB_02/2

Modification

    Make changes on existing data. MongoDB doesn't restrict data stored in the same format. For convenience, in insert functions I kept data format the same. Fixed structure make query easy. Otherwise, for example, query strings in key "breath" is difficult. "breath" contains nested object. The key names under breath are barely the same.
 
   With update $set and $unset, I can completely change the structure of existing records.

Update $set 



Set values on qualified records. $set object can contain more than one data set.
At this example, I

  • changed style from Array to String. 
  • added new object into key-breath, expanded its branches. 
  • added another branch-song at record root. 

After update, this record owned a structure different from others.

Update $unset



Unset specific keys. Everything under this key would be removed. $unset object can contain multiple keys, set value to 0 to remove data set. Here I

  • removed key-style
  • removed key-breath which contained nested objects.

For now, except query on key-name, what applied to other records wouldn't apply to this modified record. It contains different keys.

Delete Records


Delete records,

Drop Collection




Drop collection. And then use db function listCollections() to check the result.

Great Resources 

NodeJS APIs for MongoDB: http://mongodb.github.io/node-mongodb-native/3.5/api/index.html

MongoDB Commands: https://docs.mongodb.com/manual/reference/method/

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...