如何使用命令行在mongodb中插入新的数据对象?

tcomlyy6  于 2023-03-07  发布在  Go
关注(0)|答案(1)|浏览(183)

就像题目的题目一样,如何通过命令行插入一个新的数据对象?现在这是mongo.js文件中的代码。当我现在运行node mongo.js password命令时,如代码的最后一段所示,它正在按预期工作(它显示了数据库中所有人员的列表)。如果我想使用person对象手动添加数据并保存它,这也是有效的(就像我注解掉的代码一样)但是如果我想通过命令行添加新的person怎么办,例如,我想运行以下命令,
node mongo.js password James 21312321312
然后它把这个数据对象添加到数据库中?我怎样才能使它工作呢?

const mongoose = require('mongoose')

if (process.argv.length<3) {
  console.log('give password as argument')
  process.exit(1)
}

const password = process.argv[2]

const url =
  'mongodb+srv://username:password@phonebook.axquldz.mongodb.net/personsApp?retryWrites=true&w=majority'

mongoose.set('strictQuery',false)
mongoose.connect(url)

const personSchema = new mongoose.Schema({
  name: String,
  number: Number,
})

const Persons = mongoose.model('Person', personSchema)

// const person = new Persons(
// {
// })

// person.save().then(result=> {
//   console.log('person saved!')
//   mongoose.connection.close()
// })

Persons.find({}).then(result => {
  result.forEach(person => {
    console.log(person.name + ' ' + person.number) 
  })
  mongoose.connection.close()
})
gr8qqesn

gr8qqesn1#

应该是

const url = `mongodb+srv://username:${password}@phonebook.axquldz.mongodb.net/personsApp?retryWrites=true&w=majority`

注意反勾!

相关问题