- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 NodeJS 和 MongoDb 的新手。我在 jsonObject 上遇到问题。
第1步:我已经在我的ubuntu 16.04系统中成功安装了NodeJS和MongoDB。
第 2 步:我使用项目文件夹中的 package.json 文件创建了所有服务器设置。
第 3 步:我创建了 server.js 文件,如下所示。
server.js文件
express = require('express'),
routes = require('./api/routes/todoListRoutes');
mongoose = require('mongoose'),
Task = require('./api/models/todoListModels'),
bodyParser = require('body-parser');
app = express(),
port = process.env.PORT || 3000,
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/Tododb');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
routes(app);
app.listen(port);
console.log('todo list RESTful API server started on: ' + port);
然后我创建了模型文件来存储记录。
todoListModels.js
'use strict';
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var TaskSchema = new Schema({
name: {
type: String,
Required: 'Kindly enter the name of the task'
},
Created_date: {
type: Date,
default: Date.now
},
status: {
type: [{
type: String,
enum: ['pending', 'ongoing', 'completed']
}],
default: ['pending']
}
},{ versionKey: false }//Updated);
module.exports = mongoose.model('Tasks', TaskSchema);
todoListRoutes.js
'use strict';
module.exports = function(app) {
var todoList = require('../controllers/todoListController');
app.route('/tasks').get(todoList.list_all_tasks).post(todoList.create_a_task);
app.route('/tasks/:taskId').get(todoList.read_a_task).put(todoList.update_a_task).delete(todoList.delete_a_task);
};
todoListController.js
'use strict';
mongoose = require('mongoose'),
Task = mongoose.model('Tasks');
exports.list_all_tasks = function(req, res) {
Task.find({}, function(err, task) {
if (err)
res.send(err);
res.json(task);
});
};
exports.create_a_task = function(req, res) {
var new_task = new Task(req.body);
new_task.save(function(err, task) {
if (err)
res.send(err);
res.json(task);
});
};
exports.read_a_task = function(req, res) {
Task.findById(req.params.taskId, function(err, task) {
if (err)
res.send(err);
res.json(task);
});
};
exports.update_a_task = function(req, res) {
Task.findOneAndUpdate(req.params.taskId, req.body, {new: true}, function(err, task) {
if (err)
res.send(err);
res.json(task);
});
};
exports.delete_a_task = function(req, res) {
Task.remove({
_id: req.params.taskId
}, function(err, task) {
if (err)
res.send(err);
res.json({ message: 'Task successfully deleted' });
});
};
然后我通过nodemon server.js运行 Node 服务器服务器成功运行。然后,我尝试使用 POST MAN 应用程序从数据库中获取数据。
所以,我确实喜欢下面的内容,
GET方法:localhost:3000/tasks
它成功运行并产生结果。
如下所示,
[
{
"_id": "58ba4c9c03e10b16d140775f",
"name": "Karthik",
"__v": 0,
"status": [
"pending"
],
"Created_date": "2017-03-04T05:11:56.590Z"
}]
我的问题就在这里,
1)我没有在这里创建__v和id字段。那它为什么会来呢?2)然后我需要在 Created_date 字段中使用正确的日期格式。就像“dd-MM-yyyy hh:mm”。怎么做?
我们将不胜感激。谢谢。
更新
当我尝试安装 moment 时,出现以下错误
notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
最佳答案
1. "_id": "58ba4c9c03e10b16d140775f"
这是 mongodb 默认为您插入的每个文档创建的唯一 ID,mongo 将创建一个 _id,默认设置为索引键。
有关更多引用,您可以阅读 advantage of _id
2."__v": 0
versionKey 是 Mongoose 首次创建每个文档时设置的属性。该键值包含文档的内部修订。 versionKey 选项是一个字符串,表示用于版本控制的路径。
3."Created_date": "2017-03-04T05:11:56.590Z"
是mongodb保存日期的默认格式。Mongodb使用ISO格式来存储日期。如果您想以这种方式保存它,您可以以字符串格式存储日期,也可以以 ISO 格式保存,但是当您获取文档时,您可以使用诸如 Moment 之类的模块。以您想要的任何格式显示日期。
关于json - NodeJS 与 mongoDB JSONFormat 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42595860/
我的代码是: final String json = getObjectMapper().writeValueAsString(JsonView.with(graph) .onClas
我的应用程序无法格式化日期输入。我正在使用 com.fasterxml.jackson.annotation.JsonFormat Json 输入: "startDate": "2019-08-07"
我有一个自定义对象: public class Response { @JsonProperty("values") private List values; @JsonFor
目录 @JsonFormat 日期格式自动格式化 例如,某个类里面有个属性 @JsonFormat时间格式化注解使用
如何为引用自身的案例类提供 JsonFormats? 我正在关注 this 指南并编写了以下代码 case class Item(name: String, desc: Option[String],
我试图在这里找到一些帮助来应用 DefaultJsonProtocol 的 JsonFormat 扩展 到包含对象序列的类。 所以对于类(class): class Person(val name:
我有一个只有一个字段的类: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", t
我正在尝试为抽象类编写一个 JsonFormat,它的通用参数看起来像这样: abstract class Animal[A] { def data: A def otherStuff
我有一些特殊的业务,需要一个自定义序列化器,它在修改 DictAnnotation 注释的字段中添加一个字段,它可以工作。 但 @JsonFormat 不起作用。我的 createTime 字段曾经是
我有一个包含可变参数的案例类,其隐式 jsonFormat 如下: import spray.json._ case class Colors(name: String*) object MyJson
我有一个非常简单的 bean: public class StatusBean { private String name; @JsonFormat(shape=JsonFormat.Shape.
我有一个简单的 POJO,带有一个带有初始值的 Date 字段: 1985-09-17T01:00:00.000+0400 然后这个日期值被映射到带有注释的日期字段的 DTO: @JsonFormat
我通过这篇文章学习了如何一起使用 Json 和 java.util.Optional: https://medium.com/@harittweets/how-to-use-java-util-opt
今天在线上发现一个问题,在使用Jackson进行时间的反序列化时,配置的 @JsonFormat 没有生效 查看源码发现,Jackson在反序列化时间时,会判断json字段值类型,如下: 由
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd'T'HH:mm:ss.SSS") 是否可以用模式编写正则表达式?我不
我有一个来自 JSON 有效负载的值: "callStartTime" : "2019-03-27 13:00:00" 实体.java @JsonProperty("callStartTime") @
我在我的项目中使用了 Spring Date Rest 和 Spring Boot。 这个项目有一个对象,我使用了 @JsonFormat 注释来格式化将从我的 Json 接收到的日期字段。 字段日期
我有一个生成的java类: package cc.notsoclever.customerservice public class Customer { protected String name
我有一个用秒部分定义的字段(即:“ss”),如下所示 @JsonProperty("date") @JsonFormat(shape = JsonFormat.Shape.STRING, patter
我有一个通用表单字段类 public class FormField { private T value; private boolean disabled; // setters
我是一名优秀的程序员,十分优秀!