如何使用变量名创建字段?

蒂亚戈·洛迪(Thiago Loddi)

如何使用变量名在猫鼬中创建字段?我已经看到了一些使用.update()的方法,但是我想知道在创建新文档时是否存在一种方法

我的模式如下:

var summariesSchema = mongoose.Schema({
  type: String,
  name: String,
  date: String
})

和我的对象:

var date = '2015-02-01'
var obj = {
  ios: 100,
  android: 500
}
var doc = {}
doc[date] = obj
var mongoDoc = new Summaries({
  name: 'John',
  type: 'person',
  date: date,
  $doc: doc
})
mongoDoc.save(function(err){
  if(!err) log('done')
  else log(err.toString())
})

但是它仅保存字段“名称”,“类型”和“日期”。

谁能告诉我是否可以做这样的事情,如果可以,我想念什么?

蒂亚戈·洛迪(Thiago Loddi)

明白了.. @Alex的第一部分是正确的,只需将schema strict属性更改为false,以便可以向mongo文档中添加新字段。对于字段名称作为变量,我首先创建了整个对象,然后创建了文档的新实例:

var summariesSchema = mongoose.Schema({
  type: String,
  name: String,
  date: String
}, { strict: false })

var date = '2015-02-01'
var obj = { 
  name: 'John', 
  type: 'person',
  date: date
}
obj[date] = {
  ios: 100,
  android: 500
}
var mongoDoc = new Summaries(obj)
mongoDoc.save(function(err){
  if(!err) log('Done.')
  else log(err)
}

成功!

编辑

三年后,ES6语法也允许我们这样做:

var mongoDoc = await new Summaries({
  name: 'John', 
  type: 'person',
  date: date,
  [date]: { ios: 100, android: 100 }
}).save();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用循环索引引用变量名并创建新的变量名?

来自分类Dev

如何使用for循环递增创建的jlabels的变量名?

来自分类Dev

如何使用(整数类型)变量名创建ofstream文件?

来自分类Dev

使foreach根据输入创建变量名?如何使用extract()

来自分类Dev

如何用变量名创建结构

来自分类Dev

类构造函数使用变量名创建新的类字段吗?

来自分类Dev

如何使用jQuery循环变量名

来自分类Dev

如何使用freemarker遍历变量名

来自分类Dev

如何对变量名使用forloop

来自分类Dev

如何在变量名内创建变量?

来自分类Dev

VBA如何创建包含变量的变量名

来自分类Dev

动态创建变量名?

来自分类Dev

JavaScript:如何使用嵌套对象的变量名创建嵌套对象?

来自分类Dev

如何使用数组值作为函数参数的变量名,以从JavaScript中的数组创建表?

来自分类Dev

如何在Python中使用变量名创建mysql表?

来自分类Dev

如何在for循环中创建变量名

来自分类Dev

使用变量名在PHP中创建对象

来自分类Dev

如何在变量名中使用变量

来自分类Dev

c# - 如何在变量名中使用变量

来自分类Dev

如何获取变量名

来自分类Dev

如何生成变量名

来自分类Dev

如何使用R列表使用变量名进行赋值

来自分类Dev

在变量名上使用@

来自分类Dev

如何使用函数结果来调用变量名?

来自分类Dev

如何在“变量名”中使用空格?

来自分类Dev

如何使用Javascript关键字作为变量名?

来自分类Dev

如何使用关键字作为变量名?

来自分类Dev

如何使用变量名运行.java文件

来自分类Dev

如何使用GSON解析变量名JSON对象?