25
loading...
This website collects cookies to deliver better user experience
{
Name: "Farzad",
LastName: "Aziminia",
Interests: ["development", "music", "cycling"],
Locations: [{city: "Irvine", current: true}, {city: "dana point"}],
Occupation: "Software Engineer",
}
docker run -d --name mongodb -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=password -p 27017:27017 mongo
{
"name": "mongodb",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"mongodb": "^4.0.0"
}
}
const mongo = require('mongodb').MongoClient
const PARAMS = {
useNewUrlParser: true,
useUnifiedTopology: true,
};
const URI = 'mongodb://root:password@localhost:27017'
let connection
const connectMongo = async () => {
connection = await mongo.connect(URI, PARAMS);
console.log('Mongodb Connected');
}
module.exports = { connectMongo }
const connectMongo = require('./mongodb').connectMongo
const startup = async () => {
await connectMongo()
}
startup()
const mongo = require('mongodb').MongoClient
const PARAMS = {
useNewUrlParser: true,
useUnifiedTopology: true,
};
const URI = 'mongodb://root:password@localhost:27017'
let connection
const connectMongo = async () => {
connection = await mongo.connect(URI, PARAMS);
console.log('Mongodb Connected')
}
const getConnection = () => {
return connection;
}
module.exports = { connectMongo, getConnection }
const mongo = require('./mongodb');
const DB_NAME = 'users';
const COLLECTION_NAME = 'users';
const getUserCollection = () => mongo.getConnection().db(DB_NAME).collection(COLLECTION_NAME)
const createUser = async (user) => {
return getUserCollection().insertOne(user);
}
const getUsers = async (criteria={}) => {
return getUserCollection(criteria).find({});
}
const getSingleUser = async (criteria) => {
return getUserCollection().findOne(criteria);
}
const deleteSingleUser = async (criteria) => {
return getUserCollection().deleteOne(criteria);
}
const deleteAllUsers = async () => {
return getUserCollection().deleteMany({})
}
module.exports = {
deleteAllUsers,
deleteSingleUser,
getSingleUser,
getUsers,
createUser,
}
const connectMongo = require('./mongodb').connectMongo
const User = require('./user')
const user1 = {
name: 'Farzad',
lastName: 'Aziminia',
interests: ['Software Engineer', 'Music', 'Cycling'],
locations: [{ city: 'Irvine', current: true }, { city: 'Dana Point' }],
};
const user2 = {
name: 'Adam',
lastName: 'Smith',
interests: ['Construction Worker', 'Cars', 'Beer'],
locations: [{ city: 'Los Angeles', current: true }, { city: 'Newport Beach' }],
};
const user3 = {
name: 'Jack',
lastName: 'Ryan',
interests: ['Software Engineer', 'Cars', 'hiking'],
locations: [{ city: 'Santa Ana' }],
};
const startup = async () => {
await connectMongo()
await User.createUser(user1);
console.log('user1 created');
await User.createUser(user2);
console.log('user2 created');
await User.createUser(user3);
console.log('user3 created');
const result = await User.getUsers();
console.log(JSON.stringify(result));
}
startup()
[{"_id":"60f6332a75935a4199c3d615","name":"Farzad","lastName":"Aziminia","interests":["Software Engineer","Music","Cycling"],"locations":[{"city":"Irvine","current":true},{"city":"Dana Point"}]},{"_id":"60f6332a75935a4199c3d616","name":"Adam","lastName":"Smith","interests":["Construction Worker","Cars","Beer"],"locations":[{"city":"Los Angeles","current":true},{"city":"Newport Beach"}]},{"_id":"60f6332a75935a4199c3d617","name":"Jack","lastName":"Ryan","interests":["Software Engineer","Cars","hiking"],"locations":[{"city":"Santa Ana"}]}]
const startup = async () => {
await connectMongo()
const result = await User.getSingleUser({name: 'Farzad'});
console.log(result);
}
const startup = async () => {
await connectMongo()
const result = await User.getUsers({$or:[{name: 'Farzad'}, {name: 'Jack'}]});
console.log(result);
}
const startup = async () => {
await connectMongo()
const result = await User.getUsers({interests: 'Cars'});
console.log(result);
}
const startup = async () => {
await connectMongo()
const result = await User.getUsers({'locations.current':{$exists: true}});
console.log(result);
}
const startup = async () => {
await connectMongo()
const result = await User.deleteSingleUser({name: 'Jack', lastName: 'Ryan'});
console.log(result);
}
const startup = async () => {
await connectMongo()
const result = await User.getUsers();
console.log(JSON.stringify(result));
}
const startup = async () => {
await connectMongo()
const result = await User.deleteAllUsers();
console.log(result);
const records = await User.getUsers()
console.log(records)
}