我的架构是
var UserQuizSchema = mongoose.Schema({
uid:{type:ObjectId,required: true,index:true},
answer:[{content:String, qid:ObjectId ,time:Date }],
});
Run Code Online (Sandbox Code Playgroud)
在此模式中,'uid'表示用户标识符,而'answer'数组存储学生已回答的答案.在每个答案中,qid与问题ID相关,"内容"是学生的真实答案,"时间"是答案的修改时间戳.
在这里,我使用mongoose将新答案插入到数组中
function updateAnswer(uid,question_id,answer,callback){
var options = { new: false };
var quiz_id = mongoose.Types.ObjectId(quiz_id);
var qid = mongoose.Types.ObjectId(question_id);
UserQuizModel.findOneAndUpdate({'uid':uid},{'$addToSet':{'answer':{'qid':qid, 'content':answer} } },options,function(err,ref){
if(err) {
console.log('update '.red,err);
callback(err, null);
}else{
console.log('update '.green+ref);
callback(null,ref);
}
})
}
Run Code Online (Sandbox Code Playgroud)
在常识中,通过使用addToSet命令,答案数组中的元素应该是唯一的,但在我的示例中,答案数组可能只有多个相同的嵌入文档,除了每个嵌入的文档都有一个唯一的OjbectId _id
如
answer:
[ { qid: 5175aecf0e5b061414000001, _id: 518a5e5895fc9ddc1e000003 },
{ qid: 5175aecf0e5b061414000001, _id: 518a5e5f95fc9ddc1e000004 } ] }
Run Code Online (Sandbox Code Playgroud)
你看到两个嵌入文件的qid是相同的,但_id是不同的.
为什么还有一个_id,我不把它的架构设计?
我有一个像这个架构的架构
{
'cr':[
{ key: 'key1', value:['value1','value2','value3'] },
{ key: 'key2', value:['value4','value5','value6'] }
]
}
function addCriteriaKey(id,key,callback){
var options = { new: false ,select:'_id'};
Model.update({'uid':id},{'$addToSet':{'cr':{'key':key}}},options,function(err,data){
if(err) callback(err,null);
else callback(null,data);
})
}
function addCriterialValueToKey(id,key,value,callback){
var options = { new: false ,select:'_id'};
Model.update({'uid':id,'cr.key':key},{'$addToSet':{'cr.$.val':value}},options,function(err,data){
if(err) callback(err,null);
else callback(null,data);
})
}
Run Code Online (Sandbox Code Playgroud)
所以这是我添加一个键并添加一个值的两种方法,它们都可以工作,但数据库有一个现有的键,但我添加了一个额外的键,$ addToSet不再工作了.
例如,当我这样做时:
1. addCriteriaKey('id','abc',function(err,data){})
2. addCriterialValueToKey('id','abc','111',function(err,data){})
数据变得像
{
'cr':[
{ key: 'abc', value:['111'] }
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我再次添加键'abc'时.1. addCriteriaKey('id','abc',function(err,data){})
数据变得像
{
'cr':[
{ key: 'abc', value:['111'] },
{ key: 'abc' }
]
} …Run Code Online (Sandbox Code Playgroud) 我正在使用osx并尝试通过brew安装redis
brew install redis
==> Downloading http://download.redis.io/releases/redis-2.8.17.tar.gz
Already downloaded: /Library/Caches/Homebrew/redis-2.8.17.tar.gz
==> make -C /private/tmp/redis-WEL8AT/redis-2.8.17/src CC=clang
==> Caveats
To have launchd start redis at login:
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
Then to load redis now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Or, if you don't want/need launchctl, you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
Run Code Online (Sandbox Code Playgroud)
最后我安装了redis,但是当我以它的方式运行它时
redis-server /usr/local/etc/redis.conf
Run Code Online (Sandbox Code Playgroud)
有错误信息,
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 54
>>> 'tcp-backlog 511'
Bad directive or wrong number of arguments
Run Code Online (Sandbox Code Playgroud)
我正在使用带有最新 ngx-codemirror 的 angular 7。
<ngx-codemirror [(ngModel)]="sql_input" [options]="{lineNumbers: true,theme: 'material',mode: 'markdown'}"></ngx-codemirror>
Run Code Online (Sandbox Code Playgroud)
最终的外观如下所示,这对我来说太大了。只是想知道如何将其调整为在高度和宽度上更小。
在Mongoose中,我有这样的架构
var schema= mongoose.Schema({
name:String,
age:String
likes: [{ type:String, price:String}]
});
Run Code Online (Sandbox Code Playgroud)
正如猫鼬,该选项在Model.find(条件,[田],[选项],[回调])为我们提供了一个选择,选择我们需要的字段.但是在我的架构中,有一个数组属性'likes',在查询中,我只想选择一个属性类型而不是全部属性,我该如何进行此查询?
我是亚马逊服务的新手,我在亚马逊EC2上安装了node.js和mongodb,它都在服务器端工作,但是,当我想测试它时,我用IP地址绑定了服务器实例,但访问服务器没有成功,我想知道它有什么问题
我正在使用three.js处理angular2.
这是我的角度cli的配置.
在package.json中:
"three": "^0.81.2",
"three-stl-loader": "^1.0.4",
Run Code Online (Sandbox Code Playgroud)
在angular.cli.json中:
"../node_modules/three/build/three.min.js",
"../node_modules/three/examples/js/Detector.js",
"../node_modules/three/examples/js/controls/OrbitControls.js",
"../node_modules/three/examples/js/controls/TrackballControls.js",
"../node_modules/three/examples/js/loaders/STLLoader.js",
Run Code Online (Sandbox Code Playgroud)
在组件文件中,我加载了THREE和OrbitControls:
import * as THREE from 'three';
import PerspectiveCamera = THREE.PerspectiveCamera;
import OrbitControls = THREE.OrbitControls;
Run Code Online (Sandbox Code Playgroud)
应用程序运行时,控制台会显示以下消息:
'THREE.WebGLRenderer 81
three.js:41149 THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.
three.js:41158 THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.
'
Run Code Online (Sandbox Code Playgroud)
所以显然有三个.js被加载,但为什么无法找到OrbitControls?
我正在远程服务器上运行 angular cli 开发,是否可以在守护程序模式下运行此开发应用程序?就像我们在forever.js中使用的一样
我在 python 3.7 中运行代码,该库由
pip3 install kafka
Run Code Online (Sandbox Code Playgroud)
这是代码
import random
import time, calendar
from random import randint
from kafka import KafkaProducer
from kafka import errors
from json import dumps
from time import sleep
def write_data(producer):
data_cnt = 20000
order_id = calendar.timegm(time.gmtime())
max_price = 100000
topic = "payment_msg"
for i in range(data_cnt):
ts = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
rd = random.random()
order_id += 1
pay_amount = max_price * rd
pay_platform = 0 if random.random() < 0.9 else 1
province_id = randint(0, 6) …Run Code Online (Sandbox Code Playgroud) I use curl to submit to our Kafka Connect service a JSON request message with information about the connector, it is working successfully.
$ curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" localhost:8083/connectors/ -d '{ \"name\": \"inventory-connector\", \"config\": { \"connector.class\": \"io.debezium.connector.mysql.MySqlConnector\", \"tasks.max\": \"1\", \"database.hostname\": \"mysql\", \"database.port\": \"3306\", \"database.user\": \"debezium\", \"database.password\": \"dbz\", \"database.server.id\": \"184054\", \"database.server.name\": \"dbserver1\", \"database.whitelist\": \"inventory\", \"database.history.kafka.bootstrap.servers\": \"kafka:9092\", \"database.history.kafka.topic\": \"dbhistory.inventory\" } }'
Run Code Online (Sandbox Code Playgroud)
now I am using node.js server to send data to kafka connect server.
var body = { …Run Code Online (Sandbox Code Playgroud) angular ×3
mongoose ×3
mongodb ×2
amazon-ec2 ×1
angular-cli ×1
apache-kafka ×1
codemirror ×1
css ×1
java ×1
macos ×1
node.js ×1
python-3.x ×1
redis ×1
three.js ×1