有没有类似于mongo.model()的东西;在DynamoDB中...?
问题描述:
我想在node.js脚本中创建Dynamo数据库表。有没有类似于mongo.model()的东西;在DynamoDB中...?
总之,我想发电机-DB代码等同于以下内容:
var mongo = require('mongoose');
var MongoDB = mongo.connect('mongodb://localhost:27017/test').connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
console.log("DynamoDB connection open");
});
var userschema = mongo.Schema({
\t name: String,
\t nickname: {type: String,default: ''},
\t email: String,
\t phone: String,
\t type: String,
\t port : String,
\t deviceRegId: {type: String,default: ''},
\t assignFlag: Number,
\t created: {type: Date,default: Date.now} \t ,
\t lastmsg : {type: String,default: ''} ,
\t lasttime : {type: Date,default: Date.now} ,
\t loginStatus : {type: Boolean,default: false} ,
\t isOnline : {type: Boolean,default: false} ,
\t chats: [{
\t \t \t from: String,
\t \t \t msgfrom: Number,
\t \t \t name: String,
\t \t \t msg: String,
\t \t \t date: {type: Date, default: Date.now},
\t \t \t flag: Number
\t }]
});
var agent = mongo.model('naveen', userschema);
exports.mongo = mongo;
exports.agent = agent;
我试图寻找类似迪纳摩功能,但找不到任何。任何帮助都会很有用。
答
以下是的示例代码,如果不存在,则创建该表并使用默认值在其上创建一个项目。
请注意,DynamoDB上的属性不能为空值。例如,默认情况下,昵称不能设置为空字符串。
对于任何属性,如果设置了空值并尝试插入数据,则DynamoDB将引发验证异常。
所以,默认不能是空字符串。
代码: - 创建
var dynamoose = require('dynamoose');
dynamoose.AWS.config.update({
accessKeyId: 'AKID',
secretAccessKey: 'SECRET',
region: 'us-east-1'
});
dynamoose.local();
var Schema = dynamoose.Schema;
var userSchema = new Schema({
name: {
type: String,
hashKey: true
},
nickname: String,
email: String,
phone: String,
type: String,
port: String,
deviceRegId: String,
assignFlag: Number,
created: { type: Date, default: Date.now },
lastmsg: { type: String },
lasttime: { type: Date, default: Date.now },
loginStatus: { type: Boolean, default: false },
isOnline: { type: Boolean, default: false },
chats: [{
from: String,
msgfrom: Number,
name: String,
msg: String,
date: { type: Date, default: Date.now },
flag: Number
}]
},
{
throughput: { read: 15, write: 5 }
});
var Table = dynamoose.Table;
var UserDetails = dynamoose.model('UserDetails', userSchema);
var user1 = new UserDetails({ name: 'John' });
user1.save(function (err) {
if (err) { return console.log(err); }
console.log('Added a new item');
});
例题: -
日期值存储为数字。
+0
感谢您的帮助......现在,我发展我的code.If我得到任何错误,我会让你知道.. –
+0
上面的答案有用吗? – notionquest
如何dynamoose https://www.npmjs.com/package/dynamoose – Molda